虽然LOC(代码行数)是衡量代码复杂性的一个有问题的指标,但它是最受欢迎的指标之一。如果小心使用,可以提供至少相对复杂性的粗略估计。(例如,如果一个程序是10KLOC,而另一个程序是100KLOC,两者都用同样的语言编写,由大致相同素质的团队编写,则第二个程序几乎肯定更为复杂。)
在计算代码行数时,您喜欢计算注释吗?那测试呢?
我见过不同的方法。例如,cloc和sloccount等工具允许包含或排除注释。但其他人则认为注释是代码及其复杂性的一部分。
对于单元测试,也存在同样的困境,因为有时候单元测试的行数甚至会达到被测试代码的规模,甚至超过它。
我观察到的做法各不相同,从仅计算“操作”的非注释非空行,到计算“已测试、已注释代码的XXX行”,这更像是在项目中的所有代码文件上运行“wc -l”的结果。
您个人的偏好是什么?为什么?