Sonar 中是否有一项检查可以确定何时可以使用保护子句检查先决条件,而不是将方法的整个主体包装在块中if?
换句话说,我希望 Sonar 帮助我找到机会重构这样的东西
void method(args) {
if (precondition(args)) {
// do rest of method
}
// no other code after conditional
}
Run Code Online (Sandbox Code Playgroud)
进入这个:
void method(args) {
if (!precondition(args)) {
return;
}
// do rest of method;
}
Run Code Online (Sandbox Code Playgroud)
这提高了可读性并减少了方法体内条件语句的嵌套深度。
声纳中的什么规则对此有帮助?
循环复杂度听起来像是错误的度量,因为早期返回使方法得分变得更复杂,而条件的数量是相同的。我正在寻找像平均嵌套深度这样的指标。
| 归档时间: |
|
| 查看次数: |
281 次 |
| 最近记录: |