#sonarqube
#sonarqube
Вопрос:
Существует ли проверка в Sonar, которая определяла бы, когда предварительные условия могут быть проверены с помощью предложения guard, вместо того, чтобы оборачивать все тело метода в if
блок?
Другими словами, я хотел бы, чтобы Sonar помог мне найти возможности для рефакторинга чего-то подобного
void method(args) {
if (precondition(args)) {
// do rest of method
}
// no other code after conditional
}
в это:
void method(args) {
if (!precondition(args)) {
return;
}
// do rest of method;
}
Это улучшает читаемость и уменьшает глубину вложенности условных выражений внутри самого тела метода.
Какое правило в Sonar помогло бы в этом?
Цикломатическая сложность звучит как неправильная метрика, потому что ранний возврат делает оценку метода более сложной, в то время как количество условных обозначений остается тем же. Я ищу метрику, такую как средняя глубина вложенности.