Java代码中方法复杂性的代码质量标准是什么?

use*_*323 1 java sonarqube

在我的项目中,我们使用Sonar Qube,它限制了方法复杂性10.

如果方法复杂度超过10,则会引发重大问题.

是否有定义方法复杂性的标准?

Mar*_*rau 7

Sonar Qube确定其复杂性的方式记录在他们的文档中.算法(如果要调用它)是"计算某些语句的数量".

还有其他算法来确定特定代码块的复杂性.例如,众所周知的Cyclomatic Complexity.但是,只要您(在项目或公司内)都同意公制和合理的上限,您使用的内容并不重要.

并且始终记住,有时候"工具"不正确并且有问题的代码是正确的选择,即使它的复杂性高于阈值.这可能是出于可读性原因,或仅用于普通的性能优化.

  • 当人们开始使用Java 8功能样式而不是正常的循环和条件时,可能效果不佳. (2认同)