자바 프로젝트에 SonarQube를 사용하지만 복잡성 계산이 명확하지 않습니다. 다음과 같이 복잡성이 계산된다 User Guide 따르면return 문이 복잡성을 증가시키는 이유는 무엇입니까?
public boolean even(int i) {
if (i % 2 == 0) {
return true;
}
return false;
}
: 복잡도 값은 다음과 같은 예를 들어 3 '또한 맥케이브 메트릭으로 알려진 복잡성을한다. 함수의 제어 흐름이 분할 될 때마다 복잡도 카운터는 1 씩 증가합니다. 각 함수의 최소 복잡성은 1입니다. 자세한 설명에서 return 문은 복잡성 값을 1 씩 증가시킵니다 (메서드의 마지막 문이 아닌 경우). return 문이 제어 흐름을 분할하는 이유를 이해할 수 없습니다. 필자의 의견으로는, 제어 흐름의 모든 return 문 다음에 가능한 방법은 하나뿐입니다.
'return (1 % 2) == 0;'은 위의 코드보다 훨씬 덜 복잡합니다. 그게 그걸 설명하니? – John3136