2010-01-15 3 views
2

다중 종료 점이있는 함수의 순환 복잡도를 찾는 방법은 무엇입니까? 위키 페이지에 p-s + 2가 표시되어 있습니다. 여기서 p는 결정 포인트의 수이고 s는 종료 포인트의 수입니다.다중 종료점이있는 코드의 순환 복잡성

더 많은 독립적 인 경로로 이어질 수 있기 때문에 출구 지점이 순환 적 복잡성을 증가 시켜서는 안됩니까?

건배,

아만

답변

1

NDepend의 재판을하려고하지? 그것은 순환 적 복잡성 및 기타 많은 코드 메트릭을 계산합니다.

5

CC는 선형 적으로 독립적 인 경로를 측정합니다. 출구 점은 코드에 대한 경로를 추가하지 않으므로 경로를 종료하므로 CC가 감소합니다 (또는 최소한 CC가됩니다).

다른 말로하면 이탈 점을 추가하는 방법은 더 많은 경로를 추가하는 것입니다 (IF와 같은 조건). 그렇지 않으면 '알몸'종료점 다음의 코드에 도달 할 수 없으므로 종료점이 아닌 복잡성을 추가하는 조건부입니다.

0

감사 마이클. 내가 질문을 게시 한 후 내 실수를 깨달았습니다. 내 실수는 JavaNcss (소스 파일을 사용함)와 Xdepend (jar 파일을 사용함)이 다중 종료 지점이있는 코드 조각에 대해 CC를 과대 평가하는 것처럼 보였습니다. 코드 here을 게시했습니다. 하지만 수식 p-s + 2를 사용하면 대답이 4 인 것 같습니다. 누락 된 몇 가지 간단한 설명이 있습니까?

@ 리차드 : Xdepend (Ndepend의 .NET 버전이 아닌 버전)를 사용해 보았습니다. 그것은 좋은 도구 같습니다. 그러나 jar 파일을 사용하면 CC에서 과대 평가됩니다 (문서에서 허용). 이 단계에서 나는 다른 도구를 탐구하고 있습니다. 당신은 더 나은 것을 알고 있습니까?

건배.