【发布时间】:2013-09-24 07:56:50
【问题描述】:
我必须衡量一个项目和一个版本中有多少代码行(在两个标签之间创建)。我可以做到这一点,这对我来说没有问题。
我的问题是关于我必须“附加”到组成项目的文件的重量。我必须以相对的方式权衡文件,以便我们最终得到一个加权标记。例如:如果我有 CPP 项目,我相信我必须对 cpp 文件赋予不同的权重; h 文件和文本文件,因为在每种文件类型上投入的时间完全不同。
此外,我可能会考虑为添加的行、删除的行和更改的行提供不同的标记,因为有时更改现有行(而不是添加新行)需要更多时间。不过我还不确定。
你知道我在哪里可以找到关于这方面的好读物吗? 我的问题很笼统——我还想了解 Java、C# 和任何代码语言。
谢谢
【问题讨论】:
-
对不起,我知道你不想听到这个......但是用代码行测量任何东西与用“完成”相对于“是否能够现在飞?” - 我见过数百行可以重构为“正确完成”的 10 行。
-
我真的不会将 LoC 视为一个有意义的指标。例如,将广泛使用 Linq 的代码与不使用 Linq 的代码进行比较。 LoC 是 1980 年代的风格指标。 stackoverflow.com/questions/184071/…
-
LoC 是一个很好的衡量项目努力的指标。使用 LINQ 编写代码的人比在汇编中编写等效代码的人投入的精力要少得多。当然是努力!= 生产力也不是努力!= 质量。
-
@PiotrKolaczkowski 好吧,使用
array[0] = 0; array[1] = 0; array[2] = 0;等初始化大型数组可能并不需要太多努力,每行一个语句;) -
任何 LoC 指标都默认假设程序员保持行长合理并编写干净的代码。很明显,任何代码总是可以做得更长。
标签: java c# c++ lines-of-code