我必须提交一份关于软件工程流程中源代码指标用法的文章。我认为最好先介绍一些源代码指标的分类(例如使用平面LOC计数Vs对代码进行一些静态分析),但我找不到能够呈现不同类型的代码的书籍或文章。指标和可能的一些历史背景信息(书籍和文章受到我的导师对网站的青睐)。
任何人都知道这样的来源?
答案 0 :(得分:2)
Patrick Smacchia的NDepend网站有一套很好的定义:Metrics Definitions。他的NDepend工具(用于.NET)提供了许多不同的量化代码库的方法。
有用的衡量标准是多么有争议。它们有助于获得代码库的天空级别视图,但它们是否日常有用?有多少商店每周使用(或关心)指标?我怀疑大多数人更关注错误计数:修复的错误数量和报告的错误数量。
当然,诸如凝聚力和耦合之类的措施可以指示可能的重构点。
另一个重要指标:有多少测试,以及这些测试所代表的大致代码覆盖范围。没有测试和良好的测试覆盖率的重构是一项有风险的业务。
答案 1 :(得分:1)
Pressman的Software Engineering: A Practitioner's Approach提供了很多有关软件指标的信息(包括其他内容)。
关于指标的关键建议可能是要小心你的衡量标准。如果你衡量LOC,那就是人们会集中注意力。
“并非所有可以计算的内容都是重要的,并且不是所有重要的内容都可以计算在内。”
- 阿尔伯特爱因斯坦
“通过代码行测量软件生产力就像测量飞机重量的程度一样。”
- 比尔盖茨
答案 2 :(得分:1)
阅读并不总是非常有趣,但它是一本很好的书,涵盖了深度的软件质量和指标。
答案 3 :(得分:0)
Halstead的"Elements of Software Science"是该领域的开创性工作。当我回想起这个故事时,他定义了大约15种不同的指标,所有指标都旨在衡量一段代码的不同质量。
不幸的是,van der Meulen & Revilla表明一些关键指标与SLOC(源代码行)密切相关。 (这不是第一次证明这一点,但这是我能够快速找到的第一篇论文。)由于SLOC比其他东西更容易衡量,SLOC应该被衡量和管理。
答案 4 :(得分:0)
答案 5 :(得分:0)
同时检查SLOCCount。这不是一本书,而是一套用于计算物理源代码行的工具。通过其user manual和网站上有关SLOCCount用于估算Linux内核大小的文章,可以让您深入了解SLOC指标的有效性,将其用作指标的问题,COCOMO模型中SLOC指标的使用情况努力估计。
答案 6 :(得分:0)
这不是一本书,但Sonar使用的指标提供了一个很好的实用代码指标列表。这是metric definitions页面。
答案 7 :(得分:0)
正如我在my question on visualizing changes in metrics中提到的那样,Henderson-Sellers的书籍Object-Oriented Metrics:Measures of Complexity以及我拥有多年的早期Object-Oriented Software Metrics。
Metrics and Models in Software Quality Engineering, Second Edition是available on Safari中唯一一本有chapter讨论上述指标和行业结果的图书。
我刚刚发现了2006年的一本书Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems,那里没有评论(不是一个好兆头),但听起来很有趣。