2014-12-02 2 views
0

저는 .NET에서 C#을 사용하여 응용 프로그램을 개발했습니다.'267'의 Cyclomatic Complexity가 더 좋습니까?

옵션 '코드 메트릭 계산'을 사용하여, 나는이 상속 = 7의 코드와 깊이의 2348 개 라인 '267'의 복잡성을 점수를 가지고, 클래스 커플 링 = 150과 유지 보수성 지수 = 80

내가 아는 cyclomatic 복잡성이 낮을수록 좋다. 나머지 매개 변수를 알지 못하지만 267의 순환 복잡성이 더 나은지 알고 싶습니다.

+1

더 나은 :

현재 복잡성을에 대한 자세한 내용을보실 수 있습니다? 그것을 비교할 것이 없다면 무언가가 더 좋든 나쁘든 말할 수 없습니다. – Rik

+0

나는 * 위의 모든 것에 더 좋을 것이라고 생각합니다. [SOLID] (http://en.wikipedia.org/wiki/SOLID_%28object-oriented_design%29)를 따르고 있는지 확인하십시오. –

+0

유지 관리 가능성 지수의 경우 "높을수록 좋습니다."- 코드 유지 관리의 상대적 용이성을 나타내는 0과 100 사이의 인덱스 값이며, 높은 값은 유지 관리 가능성을 의미합니다. 코드화 된 등급은 코드의 문제 점을 신속하게 식별하는 데 사용할 수 있습니다. 녹색 등급은 20에서 100 사이이며 코드의 유지 보수성이 우수함을 나타냅니다. 노란색 등급은 10에서 19 사이이며 코드가 적당히 유지 보수 가능하다는 것을 나타냅니다. 빨간색 등급은 0과 9 사이의 등급이며 유지 관리가 낮음을 나타냅니다. " ref : http://msdn.microsoft.com/en-us/library/bb385914.aspx – DavidWhitney

답변

4

일반적으로 순환 복잡도는 코드를 통한 독립적 인 경로의 수를 나타냅니다. 이것은 비주얼 스튜디오에서하기 식으로 측정한다 : 주어진 방법

Complexity = Edges - Nodes + 1 

는 25 높은 위험으로 간주하고 오류가 발생하는 비주얼 스튜디오를 일으킨다. 이상적으로는 순환 복잡성을 가능한 한 낮게 유지하려고합니다. 3-4를 목표로하고 약 10 시까 지 시도해보십시오.

전체 프로젝트의 경우이 번호는 개별 프로젝트를 비교할만큼 의미가 없습니다. 코드를 리펙토링하는 경우이를 전체적인 복잡성을 줄이는 데 영향을 미치는지 여부를 식별하는 데 도움이되는 척도로 사용할 수 있습니다.

그러나 이러한 유형의 메트릭을 프로젝트의 건강 상태를 나타내는 유일한 지표로 사용할 때는주의하십시오. 분명한 질문이나 목표가 없다면, 그들은 당신을 오도하고 시간을 낭비 할 수 있습니다. 순환 적 복잡성을 줄이기 전에 코드 커버리지와 같은 다른 측정법에 집중하는 것이 좋습니다. 보다
http://msdn.microsoft.com/en-us/library/ms182212.aspx
https://en.wikipedia.org/wiki/Cyclomatic_complexity

+1

단일 메서드의 순환 복잡성에 숫자가 적용되는 반면, OP는 해당 메서드에 대해 (적어도) 프로젝트의 순환 적 복잡성. – Rik

+0

좋은 점,이를 반영하기 위해 제출 내용을 수정하겠습니다. –