本文正文内容约1700字,建议阅读时间:4分钟。
阅读本文你将收获:
1、什么是代码当量,原理是什么?
2、代码当量的计算公式是什么?
3、相比代码行数,代码当量好在哪?
前言
代码当量也即是开发当量(英文名为ELOC,Equivalent Line of Code,)下文称”代码当量”,由思码逸原创,是一种对开发者代码工作量进行合理量化和度量的指标。与代码行数、提交数等浅层工作量指标相比,代码当量(开发当量)的优势体现在两个方面:不易受到编程习惯或特定代码行为的干扰(如换行、空行、注释、括号等),且能更好地反映代码开发所涉及的逻辑量。
看到这里你可能还是一头雾水:代码当量的原理是什么?它如何排除噪音的干扰?它的科学性到底如何?希望这篇文章能够帮助你初步了解代码当量和它背后的故事
01 代码当量从哪来,计算原理是什么?
软件开发是一个动态的过程,代码随着提交发生变化,相应的抽象语法树也会演变。代码当量指标正是基于抽象语法树复杂度的计算。这一指标的原型来自思码逸创始团队2018年在软件工程顶级会议 FSE 上发布的论文《关于量化代码贡献的开发价值》。
计算代码当量时,我们既可以计算绝对值,也可以计算累积值:
- 代码当量的绝对值,可以理