2009-06-09 2 views
11

C++로 작성된 새로운 코드 기반이 있습니다. 이미 프로젝트에 들어가는 나쁜 습관을보기 시작했습니다. 1000 개 이상의 코드 줄이있는 클래스 파일, 많은 매개 변수가있는 함수 ...).C++ 용 코드 메트릭 및 경고

필자는 빌드에 푹 빠져서 잘못된 코딩 방법을 확인할 수있는 몇 가지 자동화 된 도구를 사용하여 이러한 문제를 즉시 해결하고 싶습니다. 그런 도구에 어떤 제안이 있습니까? 나는 메트릭에 관심이 있지만 실제로 37 가지 매개 변수로 기능을 강조하는 문체 종류에 관심이 있습니다.

+0

중복 : http://stackoverflow.com/questions/93260/a-free-tool-to- check-cc-source-code-against-coding-standards-against-coding-standards- –

답변

3

다른 사람들과 마찬가지로 스타일을 판단 할 도구가 확실하지 않습니다. 그러나 CCCC은 문제 점을 찾는 데 도움이되는 다양한 측정 항목을 생성합니다. 순환 복잡성과 같은 측정 항목을 사용하면 문제가있는 부분을 정량적으로 확인할 수 있습니다. 단점은 이러한 메트릭을 사용자가 채택하거나 작성하는 스타일 가이드와 통합해야한다는 것입니다.

+1

현재 CCCC는 구식입니다. 웹 사이트의 최신 활동은 2002 년이며 Microsoft Visual Studio 2003 프레임 워크 만 지원합니다. 사용자 친화적이지 않기 때문에 문제가 발생했습니다. Torial이 제안한대로 나는 SourceMonitor : http://www.campwoodsw.com/sourcemonitor.html을 매우 추천한다. – ForceMagic

+1

@ForceMagic : SourceMonitor가 Windows를 필요로하기 때문에 CCCC가 여전히 Windows를 실행하지 않을 때 실행 가능한 선택이라고 생각합니다. Jenkins 플러그인을 사용하여 빌드에 연결하고 회귀를 시각화 할 수 있습니다. –

6

미안 해요. 스타일에 관해서는 당신을 도울 수 없지만, C++를 지원하는 훌륭한 메트릭 도구는 free: SourceMonitor입니다. 특히

, 당신은 등 좋은 (I 매개 변수의 수보다 나쁜 프로그래밍 연습을위한 더 많은 가치의 찾기) 복잡성을 같은 정보뿐만 아니라 코드 라인, 주석의 비율, 긴 기능을 얻을 것이다

시도해보십시오. 매우 빠릅니다.

+1

이 도구를 사용하는 경우 * 수정 된 복잡성 *을 시도하십시오. SourceMonitor 도움말을 인용하고 있습니다. * 수정 된 복잡도 메트릭 옵션은 프로젝트에 추가 된 새 검사 점에 대해 복잡도 메트릭이 정의되는 방식을 변경합니다. 이 옵션을 사용하면 SourceMonitor는 각 switch 문에 대해 복잡도에 1을 더하여 복잡도 메트릭을 계산합니다. switch 문 내의 case 문은 다른 메트릭에 대해 구문 분석되지만 case 문 자체는 복잡성에 기여하지 않습니다 (이 옵션이 활성화되지 않은 경우처럼). – Wolf

-1

-Wall 컴파일러 옵션을 사용하여 항상 컴파일하고 경고가 지속되면 코드를 체크 인하 지 않도록하십시오.

this one과 같은 표준 스타일을 찾으십시오.

+1

'-Wall'은 OP가 언급 한 문제들에 대해 자동적으로 경고하지 않습니다 (긴 함수, 높은 순환 복잡성). –

+0

귀하의 *이 * 링크가 손상되어 전체 문장을 쓸모 없게 만듭니다. 아마도 [Google C++ 스타일 가이드] (https://google.github.io/styleguide/cppguide.html)를 참조하고 있을까요? – Wolf

1

메트릭스 ++이 사용 사례를 일치하고 당신이 아마 관심이 여러 가지 지표를 가지고 여기를 확인하십시오. http://metrixplusplus.sourceforge.net/

+1

일반적으로 자신의 제품을 추천 할 때 매우 명확하게 표현하는 것이 좋은 형태로 간주됩니다. –

+0

감사합니다. 이것에 대해 알게 될 것이고 다음에 할 것입니다. 대답은 여전히 ​​질문과 일치합니다. – Andrew