문제

여러 종료 지점이있는 함수의 사이클로틱 복잡성을 찾는 방법은 무엇입니까? 위키 페이지는 p-s+2라고 말합니다. 여기서 p는 의사 결정 지점이고 s는 종료 지점의 수입니다.

그러나 더 많은 출구 포인트가 더 독립적 인 경로로 이어질 수 있기 때문에 사이클 성 복잡성을 증가 시켜서는 안됩니까?

건배,

한 남자

도움이 되었습니까?

해결책

재판을 시도해 보지 않겠습니까? ndepend? 순환 복잡성과 다른 많은 코드 메트릭을 계산합니다.

다른 팁

CC는 선형 독립 경로를 측정합니다. 종료 지점은 코드에 경로를 추가하지 않고 경로를 종료하여 CC를 줄입니다 (또는 최소한, 확실히 그렇지 않습니다. 증가하다 CC).

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

고마워 마이클. 질문을 게시 한 후 실수를 깨달았습니다. 저의 실수는 Javancs (소스 파일을 사용하는)와 xdepend (JAR 파일을 사용하는)가 여러 종료 포인트가있는 코드 조각에 대해 CC를 과대 평가하는 것으로 보이는 관찰에서 비롯되었습니다. 코드를 게시했습니다 여기 . 그러나 공식 P-S+2를 사용하여 답은 4 인 것 같습니다. 내가 놓친 간단한 설명이 있습니까?

@Richard : xDepend (ndepend의 .NET 버전)를 시도했습니다. 좋은 도구로 보입니다. 그러나 JAR 파일을 사용하면 CC (문서에서 수락 한)를 과대 평가합니다. 이 단계에서 나는 다른 도구를 탐색하고 있습니다. 더 나은 것을 알고 있습니까?

건배.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top