문제

기존 위반이있는 기존 코드 기반에 FxCop / 정적 분석을 구현할 때 사용되는 전략은 무엇입니까?정적 분석 위반을 가장 효과적으로 줄일 수있는 방법은 무엇입니까?

도움이 되었습니까?

해결책

시작하려면 [SuppressMessage] 속성을 자유롭게 사용하세요.적어도 처음에는.속성을 통해 개수가 0이되면 새 체크인이 FxCop 위반을 유발하지 않을 수 있다는 규칙을 적용합니다.

Visual Studio 2008에는 모든 빌드에서 코드 분석이 실행되도록하고 경고를 오류로 처리 할 수있는 멋진 코드 분석 기능이 있습니다.속도가 약간 느려질 수 있으므로 지속적 통합 서버 (예 : CruiseControl.NET)를 설정하고 체크인 할 때마다 코드 분석을 실행하는 것이 좋습니다.

이를 제어하고 체크인 할 때마다 새로운 위반 사항이 발생하지 않으면 사용한 SuppressMessageAttributes 제거를 목표로 한 번에 전체 FxCop 위반 클래스를 처리하기 시작합니다.

정말로 유지하려는 항목을 추적하는 방법은 정말로 억제하려는 항목에 항상 정당화 값을 추가하는 것입니다.

다른 팁

지나가는 스타일로 코드를 다시 작성하세요!

진지하게, 오래된 코드베이스에는 수백 개의 오류가있을 것입니다.하지만 이것이 우리가 초보 / 인턴 프로그래머가있는 이유입니다.FxCop 위반 사항을 수정하는 것은 코드베이스에 대한 개요를 얻고 준수 .NET 코드를 작성하는 방법을 배우는 좋은 방법입니다.

그러니 총알을 깨물고 카페인을 많이 마시고 며칠 안에 끝낼 수 있습니다!

NDepend 보통 원하는 작업을 수행 할 수 있지만 CruiseControl.Net 자동 빌드에 통합 할 수 있는지 확실하지 않으며 코드가 그렇지 않으면 빌드가 실패합니다.요구 사항을 충족합니다 (이것이 제가 원하는 것입니다).

다른 아이디어가 있습니까?

FxCop의 대안은 NDepend 도구를 사용하는 것입니다. 이 도구를 사용하면 C # LINQ 쿼리에 대한 코드 규칙 ( CQLinq)을 작성할 수 있습니다. ). 면책 조항 : 저는 도구 개발자 중 한 명입니다.

200 개 이상의 코드 규칙 이 기본적으로 제안됩니다. 잘 알려진 C # LINQ 구문 덕분에 기존 규칙을 사용자 지정하거나 고유 한 규칙을 만드는 것이 간단합니다.

위양성 수를 낮게 유지하기 위해 CQLinq는 notmycode 로 시작하는 특수 코드 쿼리를 통해 JustMyCode 집합을 정의하는 고유 한 기능을 제공합니다. 이 기능에 대한 자세한 설명은 여기 에서 확인할 수 있습니다. 다음은 두 개의 notmycode 기본 쿼리입니다.

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