这里有一些关于代码指标的问题,特别是关于目标值的
this one.我正在寻找的是现实生产项目中的“常用”.也许这只是我,但是没有任何项目我会记住这些事情,因此当我运行ReSharper代码问题或Visual Studio代码指标时,我似乎是第一个 – 所以价值总是让我感到惊讶.
我当前的SharePoint分配示例:
Maintainability | Cyclomatic cmplx. | Inher. depth | Class coupl. | LOC 67 | 6,712 | 7 | 569 | 21,649 68 | 3,192 | 7 | 442 | 11,873
更新:问题是,你通常会在“野外”看到什么价值?除了最佳值和最佳实践,通常会遇到什么值?
解决方法
我假设这些值是在装配水平上.如果是这样,Cyclomatic Complexity和Code of Code对方法级别最有帮助.应该主要在类级别上查看继承深度.在首先查看方法级别然后在类级别上查找类耦合时,它会提供更有用的反馈.
除了您在stack overflow link中提供的指南之外,Code Complete第2版还有关于方法Cyclomatic Complexity,第458页的说明:
- 0-5 The routine is probably fine.
- 6-10 Start to think about ways to simplify the routine.
- 10+ Break part of the routine into a second routine and call it from the first routine
在“现实生活”项目中,可接受的可能取决于您正在使用的开发过程的类型.如果团队正在练习TDD(测试驱动开发)并努力编写SOLID代码,那么这些指标应接近最佳值.
如果TAD(开发后测试)或者甚至更多的是没有单元测试的代码,那么期望所有度量都高于最优,因为具有更多耦合,更复杂的方法和类的可能性,以及可能更多的继承可能是升高.不过,无论代码是如何开发的,目标都应该是限制“坏”指标的情况.