功能指向kloc比率作为软件度量标准… “名称调整”指标?

StackOverflow https://stackoverflow.com/questions/243971

  •  04-07-2019
  •  | 
  •  

您如何看待使用功能指标代码行作为指标?

这让我想起旧游戏节目“Name That Tune”。 “我可以用三个音符来命名这首曲子!”我可以在0.1 klocs中编写该功能!这有用吗?

这肯定会促进图书馆的使用,但这是你想要的吗?

有帮助吗?

解决方案

我认为这是一个糟糕的主意。就像他们编写的代码行给程序员付钱一样糟糕。

一般来说,我更喜欢简洁的代码而不是冗长的代码,但只要它仍然清楚地表达了程序员的意图。最大化每个kloc的功能点将鼓励每个人尽可能简短地编写代码,这超出了简洁和隐秘。它还将鼓励人们将相邻的代码行连接成一行,即使所述连接不是必需的,只是为了减少代码行数。允许的最大行长也会成为一个问题。

其他提示

如果您严格执行代码标准,KLOC是可以容忍的,有点像使用报表的页面要求:不要在一行上放置五个语句或从代码中删除大部分空白。

我猜你可以通过一种方式来决定它对环境的有效性,看看几个不同的应用程序和模块,粗略估计代码的质量,并将其与代码的大小进行比较。如果您可以证明代码质量在您的组织内是一致的,那么KLOC并不是一个糟糕的指标。

在某些方面,您将面临与任何类似指标相同的战斗。如果您计算特征或功能点,或仅仅是功能或模块,您仍然希望以某种方式对它们进行加权。最终,您需要对您将收集的客观数据进行某种主观补充。

“您如何使用功能指标作为指标代码行?”

不要问这个问题。对于给定的语言和团队,上述比率是一个简单的统计事实。并且它倾向于具有小标准偏差的平均值。

有很多自由度:你如何计算功能点,你正在使用什么语言,如何(统称)聪明的团队。如果你不改变那些东西,价值就会保持稳定。

经过几个项目的合作,您可以期望1200个功能点将是您首选语言/框架/团队组织中的12,000行代码。

KSloc / FP是一项简单的统计观察。显然,还有其他一些令你困扰的事情。你能在问题上更具体一点吗?

函数点到代码行的度量实际上用于生成语言级别图表(实际上,它是语句的功能点),以大致了解编程语言的强大程度。以下是一个示例: http://web.cecs.pdx.edu/ 〜蒂姆/分米/ functionpoints.html

我不建议将该比率用于其他任何事情,除了语言级别图表等高级近似值。

提升图书馆的使用是一件好事,但要记住的另一件事是,当你建立图书馆时,你将失去比例,并且只会随着时间的推移而节省红利。 Bean计数器不会理解这一点。

我个人希望看到一个功能点指向ABC公制比率 - 因为我很好奇ABC指标(表示大小并包含复杂性作为信息的一部分)将如何相关 - 可能是线性的,也许是指数的等等... www.softwarerenovation.com/ABCMetric.pdf

所有指标都很糟糕。我的理论一直是,如果你拥有来拥有它们,那么就用最简单的东西来收集它们,并完成它并完成重要的事情。

这通常意味着

grep -c ";" *.h *.cpp | awk -F: '/:/ {x += $2} END {print x}'

如果您正在寻找“指标”,跟踪代码效率,不要。如果你坚持,再次尝试一些愚蠢但很容易的源文件大小(参见上面的grep命令,没有awk管道)或McCabe(带有计数器程序)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top