【问题标题】:What does number of lines of code tell you about your application?代码行数告诉您有关您的应用程序的哪些信息?
【发布时间】:2012-05-06 12:17:43
【问题描述】:

最近,我们的经理要求我们在应用程序中查找代码行。从那以后我其实一直在思考;这个指标意味着什么?

  1. 是衡量开发人员在一段时间内编写的平均代码行数吗?

    • 如果没有发生重构,则有可能发生这种情况。
  2. 它是否说明您的应用程序有多好?

  3. 它对营销产品有帮助吗?

我不知道它有什么帮助。有人可以指导我正确的方向或回答这个指标的含义吗?

谢谢。

我最近发现的东西http://folklore.org/StoryView.py?project=Macintosh&story=Negative_2000_Lines_Of_Code.txt&sub=HN0

【问题讨论】:

  • 我投票结束这个问题,因为它似乎与编程没有直接关系。

标签: analytics code-metrics


【解决方案1】:

代码行数是一个流行但有问题的指标。

优势

  1. 代码行数与错误数量呈中等 (0.4-0.5) 相关性 [Rosenberg 1997, Zhang 2009],即较大的模块通常有更多错误,而且可能更有趣的是,每行有更多错误[芬顿和奥尔森 2000,张 2009]。我想强调的是,有更好(但更复杂)的方法来预测错误的数量。
  2. 代码行数可用于预测开发工作量,即有工作量预测模型(例如 COCOMO)将源代码行数作为输入参数之一。
  3. 一些更复杂的 OO 指标与班级规模有很强的相关性 [El Emam et al. 2001]。

缺点

  1. 使用代码行作为生产力衡量标准是非常有问题的,因为很难比较不同语言或不同开发人员编写的模块。事实上,一些语言更冗长,例如,存在/不存在“内置”功能或结构冗长(例如,C 中的 .h)。此外,正如上面已经提到的,一些开发人员按代码行付费,这必然导致代码复杂得离谱。最后,应考虑代码生成。
  2. 虽然“代码行”是一种常见的度量标准,但必须小心区分不同类型的“代码行”:有无空行、有无 cmets、计算物理行的逻辑语句...

【讨论】:

  • “一些开发人员按每行代码付费,这必然导致代码复杂得离谱”我宁愿说,它会导致可笑的冗余复制和粘贴代码——“让我们编写一个展开每个循环的脚本,不管它有多少次迭代。几个小时后,我们都将成为亿万富翁:)"
【解决方案2】:

代码行数对您的应用程序有何影响?

代码行数将大致告诉您存储未压缩的源文件需要多少磁盘空间。即使这样也很粗糙,因为每行会有不同数量的字符,并且可以使用不同的编码(UTF-8 占用的磁盘空间是 Latin-1 的两倍)。

是衡量开发人员在一段时间内编写的平均代码行数吗?

没有。

它是否说明您的应用程序有多好?

没有。

它对营销产品有帮助吗?

没有。

【讨论】:

  • “UTF-8 占用的磁盘空间是 Latin-1 的两倍”我强烈怀疑对于文本,它是否可以在 Latin-1 中完全显示。
【解决方案3】:

说明你的经理不称职

如果您以代码行数来衡量,作为开发人员,您会如何实现目标...

谷歌这个指标,它会告诉你这是自阿道夫决定通过入侵俄罗斯来赢得欧洲战争以来最愚蠢的策略。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多