缘起
业界常提到一个词:代码行数。代码行数是一种简单的衡量一个软件规模的方式。
可是代码行数的具体统计方法的不一样,也会使结果产生不可忽略的差别。
主要分歧有:数据库
- 空行算不算?
- 纯注释的行算不算?
- 有行尾注释的行算1行仍是2行?
- 项目文件算不算,SQL脚算不算?
屡次百度都是各家有各家的标准,在我看来就是没有标准。许多工具干脆作成各类成分都统计出来,也有的提供参数让使用者自行决定统计哪些成分。本人本着“有标准就参照执行,无标准就创造标准”的原则来倡导一种标准,但愿它真的能够成为多人采用的标准。工具
标准
- 空行 不算。
- 纯注释的行 算。
- 行内注释 不算。(即有行尾/行中注释的行只算1行, 如
int i = 3; //初始化
)
- 由工具建立/导出的文件 不算。(如项目文件、导出的SQL脚本)
依据
- 空行指除了换行符外,没有任何字符或只有空格的行。有些童鞋写代码时喜欢顺手连续敲几个空行,这个真不必,也不能让他们“钻空子”,因此不算。
- 纯注释的算,注释也是重要的代码的一部分,好的注释也是很是讲究的。
- 行尾注释有点让我纠结。它是注释与第2点同性质,但它通常比较简短,并且算的话一行含注释的代码算2行,也是“奇怪”。考虑再三,仍是决定不算。同理,行中间的注释不算。
- 由工具建立的/导了的毕竟不是本身敲的,导出的SQL脚本若是算的话,真的很冲击敲代码的童鞋。你可能会说设计数据库也是一种繁重的工做,正是有了设计才有导出。也对,但一样是繁重的工做的设计图片,它并不导出“代码行”。综合考虑,这种不算。

创建标准是挺难的一种事,创建众人喜欢的标准更是难上加难。众口难调,许多人惯性地举出“特殊状况”来“反驳”。标准很差能够讨论改进,有标准总比没有标准好。设计