Code Review 에 대한 질문 덕분에 아래 코드의 Cyclomatic Complexity가 무엇인지에 대해 약간의 의견 차이가 생겼습니다.
public static void main(String[] args) {
try {
thro();
thro();
thro();
thro();
thro();
thro();
thro();
}
catch (NullPointerException e) {
}
}
private static Random random = new Random();
public static void thro() throws NullPointerException {
if (random.nextBoolean())
throw new NullPointerException();
System.out.println("No crash this time");
}
이 코드를 Eclipse에서 작성하고 Eclipse 메트릭스 플러그인 을 사용하면 기본 메소드의 McCabe 순환 복잡도가 2이고 2의 thro
메소드라는 것을 알 수 있습니다.
그러나 다른 사람이 thro
여러 번 호출하는 것이 복잡하다는 것을 말하고 number of calls * method complexity
주 메소드의 복잡성이 7 * 2 = 14라고 주장합니다.
우리는 다른 것을 측정하고 있습니까? 우리 둘 다 맞을 수 있습니까? 아니면 여기의 실제 순환 복잡성은 무엇입니까?