문제

Visual C ++ 2008 Professional에서 사용하지 않은 속성/방법을 식별하는 방법이 있습니까? 기본적으로 불가능한 경우 3 자 도구의 권장 사항도 대단히 감사합니다.

감사,
플로리안

편집하다: ndepend는 .NET 어셈블리에만 작동합니다. 기본 C ++ 응용 프로그램에서 사용할 수있는 것을 찾고 있습니다.

도움이 되었습니까?

해결책

노력하다 PC 린트. 중복 코드를 찾는 데 꽤 좋습니다. 아직 버전 9를 시도하지 않았습니다. 버전 8은 구성하는 데 시간이 걸립니다. 온라인 대화 형 데모를 사용해보십시오.

다른 팁

개인적으로 생산성 도구를 사용하지는 않았지만 (Windows Control Suit를 사용합니다) Devexpress는 C ++ Refactor'er 호출되는 것처럼 보입니다. 리팩터! C ++의 경우. 나는 당신이 찾고있는 기능을 즉시 발견하지 못했지만 아마도 그들은 그것을 가지고 있습니까?

적용 범위 유효성 검사기는 사용하지 않은 C ++ 코드를 표시 할 수 있지만 속성은 아닙니다. 결과를 얻으려면 앱을 '발행'해야합니다.http://successfulsoftware.net/2008/03/10/coverage-validator/

까다로운 부분은 C ++의 많은 기능이 호출되지 않더라도 존재해야한다는 것입니다. 부스트는 특히 이런 일이 발생하지만 일반 STL 코드조차도이를 수행 할 수 있습니다. 그리고 당신의 코드는 함께 재생되어야합니다. std :: 벡터가 공식적으로 요구하기 때문에 COPTOR를 정의 할 수 있습니다. 그러나 실제로 t를 복사하는 std :: 벡터 멤버를 인스턴스화하지 않으면 COPTOR는 사용되지 않습니다.

필요하지 않더라도 안전을 위해 종종 존재합니다. 예를 들어, 개인 사본 생성자를 선언하면 객체가 의도하지 않은 복사를 방지 할 수 있습니다. 개인 선언이 없으면 컴파일러는 공개, 회원 복사 CTOR를 정의합니다. 자, 이것은 "사용되지 않은"상태이며 그들에 대해 경고를 받고 싶습니까?

PC 린트는 매우 강력하지만 몸을 기울이기 어렵습니다. 물론 C와 C ++를 잘 묘사하지 않습니까?

내가 우수하다고 생각하는 또 다른 도구는 전체 토마토입니다. 시각 보조 x IDE에 바로 통합됩니다.

C ++에는 보장되지 않은 코드를 검색 할 때 템플릿, 콜백 및 메시지 처리기가 프로젝트에 중요 할 수 있지만 직접 호출되지는 않습니다. 예를 들어 스레드의 핸들러는 직접 호출되지 않지만 새 스레드를 만들 때 매개 변수입니다. MFC 또는 WTL 프로젝트의 "ON_BUTTONPRESS"유형의 메시지도 미지의 방법으로 표시됩니다.

일단 당신이 그들을 찾으면 PC-Lint가 이것을 무시하도록 구성 할 수 있지만, 처음으로 많은 작업을 통해 처음으로.

ndepend 집을 청소하고 개를 산책하기 위해 할 것입니다. 무료로 사용할 수있는 Nagware 버전이 있습니다.

다음 코드 쿼리 언어 문은 사용하지 않은 방법 목록을 얻을 수 있습니다.

 WARN IF Count > 0 IN SELECT TOP 10 METHODS WHERE MethodCa == 0 AND 
   !IsPublic AND !IsEntryPoint AND !IsExplicitInterfaceImpl AND 
   !IsClassConstructor AND !IsFinalizer
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top