问题描述
对于软件工程指标,关于最大允许线性独立的圈复杂度有哪些准则?对于设计正确的模块,圈复杂度的上限是多少?
解决方法
工具NDepend文档中有关method Cyclomatic Complexity的建议是:
-
CC大于15的方法难以理解和维护。
-
CC大于30的方法非常复杂,应拆分为较小的方法(除非它们是由工具自动生成的)。
对于设计正确的模块,圈复杂度的上限是多少?
CC非常适用于方法,因为方法是理解代码流的一个单元。还有其他一些指标可以估算类和模块(作为类的葡萄)的设计和复杂性,例如:
免责声明:我为NDepend工作