提到代码质量,我们可以通过各种类型的检测手段给出度量标准。随便拿出一段源代码,这段代码质量好坏,我们又该怎么定性呢? 有没有一种公认的标准来鉴定代码质量呢?

对于鉴定代码质量的标准,被戏称为开发人员的七宗罪:

1)编码规范:是否遵守了编码规范,遵循了最佳实践。

2)潜在的BUG:可能在最坏情况下出现问题的代码,以及存在安全漏洞的代码。

3)文档和注释:过少(缺少必要信息)、过多(没有信息量)、过时的文档或注释。

4)重复代码:违反了Don’tRepeat Yourself原则。

5)复杂度:代码结构太复杂(如圈复杂度高),难以理解、测试和维护。

6)测试覆盖率:编写单元测试,特别是针对复杂代码的测试覆盖是否足够。

7)设计与架构:是否高内聚、低耦合,依赖最少。 

综上,我们可以用可测性、可读性、可理解性、容变性等代码可维护性维度的质量属性来衡量代码质量。用户不能直接体验到这种质量的好坏,最直接的“受害者”是开发者或组织自身,因为代码质量好坏直接决定了软件的可维护性成本的高低,例如重复代码会造成维护成本的成倍增加;不规范的代码、不良注释和复杂度过高的代码会增加阅读和理解代码的难度,复杂度过高也会极大增加测试覆盖的难度,耗费过多人力,而缺少测试覆盖的代码会使得定位问题和修复问题的难度加大;结构不良、低内聚高耦合的代码则会使得哪怕是微小的需求变更或功能扩展都无从下手,修改的代价很可能超过了重写的代价。

至此,我们可以借助一些代码扫描工具来暴露代码和衡量代码质量,比如CodeAnalyzer(简称CA)是上海泽众软件科技有限公司自主研发的专业代码质量管理的代码审查软件,用于实现静态分析、代码走查、代码规范检查以及代码潜在错误分析的一款白盒测试工具,大家快去免费体验一下使用效果吧。

鉴于代码质量危害和修改难度也差别很大。所以我们需要找到更适合企业的代码质量评估工具。以上就是我们关于代码质量定性的评估标准和工具介绍,后面我们将分享更多有用的知识。