코딩 표준 세트와 비교하여 C / C ++ 소스 코드를 확인하는 무료 도구? [닫은]


151

Java ( Checkstyle , JCSC ) 와 같은 도구를 찾는 것은 매우 쉬운 것처럼 보이지만 C / C ++ 용 도구를 찾지 못하는 것 같습니다. 보풀과 같은 정적 코드 분석기를 찾고 있지 않습니다. 변수 이름 지정, 대문자, 간격, 식별, 대괄호 배치 등과 같은 코딩 표준에 대해서만 확인하고 싶습니다.


3
여기에서 원하는 답변을 찾지 못하면 다음 질문을 고려하십시오. stackoverflow.com/q/10819398/120163
Ira Baxter

답변:


57

내가 아는 유일한 도구는 Vera 입니다. 그러나 그것을 사용하지 않았으므로 그것이 얼마나 실행 가능한지 언급 할 수 없습니다. 데모 는 유망 해 보인다.


나는 그것을 테스트했으며 매우 간단합니다. 그러나 작동합니다!
Jader Dias

7
나는 그것을 시도했지만 실망했다. C ++ 코드를 토큰 화했지만 "식별자"에 대한 단일 토큰 유형 만 있으므로 클래스 이름, 멤버 변수 및 로컬 변수를 구분하지 않습니다. 따라서 다른 유형의 식별자에 다른 명명 규칙을 적용 할 방법을 찾을 수 없습니다.
John W

Vera는 매우 포괄적 인 규칙 세트를 가지고 있지 않지만 확장 가능합니다 (TCL에서)
fmuecke

2
매우 간단한 작업에만 "확장 가능". Vera의 C ++에 대한 이해는 얕기 때문에 모든 "심층 스타일 검사"(가능한 제안 (좋은 제안이 아님) 규칙을 고려하십시오. 모든 할당에 대해 동일한 함수에 해당 할당이 있습니다)는 적절한 C ++ 지식을 인코딩해야합니다. 그리고 그것은 정말로 정말로 어렵습니다. 그것은 일어나지 않을 것임을 의미합니다.
Ira Baxter

Vera 로의 고정 링크 : bitbucket.org/verateam/vera
congusbongus

49

4
+1. 매우 엄격한 스타일이지만 매우 좋습니다. vera ++와 같은 자체 규칙으로 쉽게 확장 할 수는 없습니다.
fmuecke

그래도 구글의 C ++ 스타일을 사용한다면 좋습니다 :) +1
jkp

3
나는이 지금이라고 뭐죠한다고 가정 cpplint을 그것은에서 찾을 수 있습니다 github.com/google/styleguide/tree/gh-pages/cpplint , C ++ 보풀하는 것은 고장에 위의 링크.
Zitrax

참고로 설치하려면 "pip install cpplint"를 사용할 수 있습니다. 그런 다음 "cpplint file.cpp"또는 "cpplint --recursive"를 사용할 수 있습니다. "./cpplint.py"대신에 훨씬 바람직한 IMO입니다. 최소한 github을 통한 다운로드보다 쉽습니다
Colin D


8

나는 이것이 어느 정도 cxx checker에 도움이 될 것이라고 확신합니다 . 또한이 도구는 꽤 좋은 것 같다 KWStyle 그것은 Kitware, Cmake을 개발하는 사람에서입니다.


1
cxxchecker는 지금 나에게 매우 죽은 것처럼 보인다.
stefanct

cxx 검사기 는 연결이 끊어졌습니다 .
Wolf

7

정확히 요구하는 것은 아니지만, 코딩 스타일 astyle 이 프로세스를 생성하고 자동화 할 수 있다는 데 모두 동의하는 것이 더 쉽다는 것을 알았습니다 .


1
물론 ArtisticStyle은 형식에 초점을 두는 것이 분명합니다. 물론 나쁜 것은 아닙니다 :)
Wolf



2

작업에 LDRA 툴 슈트를 사용한 툴

c / c ++ 코드를 테스트하는 데 사용되지만 MISRA 등과 같은 코딩 표준과 대조 할 수도 있습니다.


1
왜이 문제가 수정 되었습니까? LDRA가 정적 분석기이기도하더라도 (질문이 찾고 있지 않은) 코딩 표준 위반 여부를 코드에서 확인할 수 있다고 생각합니다.
Vitor Py

4
LDRA의 비용은 일반 자동차만큼이나 비싸지 않습니다.
Lundin


1

동일한 이름의 플러그인을 통해 Hudson 에서도 지원되는 cppcheck 가 있습니다 .


4
cppcheck는 정적 분석 도구이며 질문에서 찾고있는 것이 아닙니다.
Vitor Py

2010 년 이후로 변경되었을 수도 있습니다. 오늘 Cppcheck에는 문체 문제에 대한 경고도 포함되어 있습니다. 그러나 OP는 정적 코드 분석기를 명시 적으로 제외했습니다.
Wolf



-1

현재 다른 도구로 프로젝트를 수행하여 그러한 도구를 작성하고 있습니다. 다른 정적 코드 분석 도구를 살펴보고 더 잘할 수 있다고 결정했습니다.

불행히도, 프로젝트는 코드에 대한 친밀한 지식 없이는 아직 사용할 수 없습니다 ( 읽기 : 모든 지옥처럼 버그가 있습니다 ). 그러나 우리는 상당히 빠르게 움직이고 있으며 앞으로 8 주 내에 베타 버전이 출시되기를 희망합니다.

프로젝트는 오픈 소스입니다- 프로젝트 페이지를 방문하십시오. 참여하고 싶다면 더 많은 외부 입력을 원합니다.

자세한 내용은 설명하지 않겠 습니다. 프로젝트 페이지방문 할 수 있지만 한 가지만 말씀 드리겠습니다 . 대부분의 정적 코드 분석 도구는 코드의 실수를 검사하고 코딩 지침을 확인하는 데 크게 관심이 없습니다. 우리는 "하우스 규칙"과 가능한 버그를 모두 확인하기 위해 플러그인을 작성할 수있는보다 유연한 접근 방식을 취했습니다.

더 자세한 정보가 필요하면 언제든지 저에게 연락하십시오.

건배,


4
마지막 커밋은 2009 년 6 월에 이루어졌습니다. 더 이상 개발되지 않은 것 같습니다.
시조
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.