我的经验是,查看代码可维护性时最重要的指标是:
- 循环复杂性,用于识别可能难以理解/修改的大量代码。
- 嵌套深度,以查找相似的点(嵌套深度高时,CC值自然会很高,但不一定相反,因此对两者进行评分很重要)。
- 扇入/扇出,以更好地了解方法/类之间的关系以及各个方法的实际重要性。
在检查其他人编写的代码时,包含动态技术通常很有用。只需通过探查器/代码覆盖率工具运行常见使用场景即可发现:
- 实际执行的代码很多(探查器对此非常有用,只需忽略计时信息,而是查看命中数)。
- 代码覆盖范围非常适合查找(几乎)无效代码。为了防止您花费时间来重构无论如何很少执行的代码。
诸如任何分析器,代码覆盖率和度量工具之类的常见可疑对象通常将帮助您获取进行这些评估所需的数据。


![超越循环复杂性的代码复杂性分析工具[关闭] 超越循环复杂性的代码复杂性分析工具[关闭]](http://www.mshxw.com/aiimages/31/609990.png)
