문제

우리는 내장 된 정적 코드 분석 규칙 세트와 함께 vs2008을 사용하고 있습니다.
우리는 비교적 큰 C# 솔루션 (150+ 프로젝트)을 가지고 있으며 일부 프로젝트 (<20)는 종교적으로 정적 코드 분석을 사용하고 있지만 대부분은 그렇지 않습니다. 우리는 모든 프로젝트에서 정적 코드 분석을 시행하기를 원하지만 모든 규칙을 가능하게하면 현재 프로젝트에 대한 방해가됩니다. 먼저 사용할 수있는 많은 정적 코드 분석 규칙 중 어느 것이 있습니까? 벅에 대한 가장 큰 규칙은 무엇입니까? 당신이 우선 순위를 정한 상위 20 위를 줄 수 있다면, 나는 그것을 크게 감사합니다.
미리 감사드립니다.
-ED.S.

도움이 되었습니까?

해결책

프로젝트를 위해 활성화 해야하는 첫 번째 규칙은 해당 프로젝트에 아직 위반이없는 규칙입니다. 이를 통해 추가 청소 노력이 필요하지 않고 새로운 문제를 도입하지 않을 수 있습니다.

다른 프로젝트에서 이미 코드 분석을 사용하고 있다는 점을 고려할 때 나머지는 심각한 결과로 규칙이 크게 파괴 될 가능성이 가장 높은 최상의 입력은 아마도 해당 프로젝트를 수행하는 개발자 일 것입니다. 개발자로부터 의미있는 피드백을 얻을 수있는 프로젝트간에 충분한 겹치지 않으면 Microsoft 최소 권장 규칙 Visual Studio 2010에서 규칙 설정.

주어진 프로젝트에서 실제로 기존 위반을 정리할 계획이라면 C 코드 분석 대신 FXCOP 사용을 고려하십시오 정리가 완료 될 때까지. 이를 통해 소스 코드 이외의 기존 위반의 "정리"제외를 유지하면서 즉시 규칙을 활성화 할 수 있습니다.

다른 팁

스튜디오가 FXCOP의 규칙과 비슷하다는 점을 감안할 때 어떤 규칙을 켜야하는지 알 수 있습니다. 마지막.

국제화가 수평선이 아닌 경우 세계화 규칙을 끄십시오.

처음에 성능 규칙을 끄십시오. 필요할 때 최적화하십시오.

다른 사람을 팀과 프로젝트에 맞추십시오. 적용 할 수없는 개별 규칙을 끄십시오. 특히, 이름 지정 규칙을 조정해야 할 수도 있습니다.

편집 : 가장 중요한 것은 소음을 줄이는 것입니다. 모든 프로젝트에 200 개의 경고가 있고 몇 달 동안 그런 식으로 머무르면 모든 사람이 무시할 것입니다. 팀에 중요한 규칙을 켜고 코드를 정리하여 100% 통과를 받거나 (예외를 억제하십시오. 그리고 예외가있을 것입니다; 이들은 지침이 될 것입니다), 코드를 깨끗하게 유지하십시오.

프로젝트를 현지화하려면 다른 국가에서 사용될 것이라면 현지화 규칙을 확실히 활성화하십시오. CultureInfo를 지정하지 않는 모든 종류의 형식/구문 분석 기능에 대한 모든 호출을 찾을 수 있습니다. 지정되지 않은 CultureInfo와 관련된 버그는 테스트에서 찾기가 어렵지만 프랑스 고객이 물어볼 때 다음과 같은 질문을 할 때 실제로 엉덩이에 물릴 것입니다. 왜 프로그램이 왜 ",", ",", "소수 분리기"와 함께 숫자에 충돌하지 않는지.

내 경험에서 코드 분석 모든 유형의 경고는 코드의 '숨겨진'버그 또는 결함을 보여줍니다. 이것을 고치면 몇 가지 실제 문제가 해결 될 수 있습니다. 비활성화하고 싶은 경고 목록을 찾지 못했습니다.

대신, 나는 한 번에 하나의 프로젝트를 켜고 다음 프로젝트의 모든 경고를 수정하기 전에 다음으로 이동하기 전에 해당 프로젝트의 모든 경고를 수정했습니다.

물건을 끄고 싶다면 이름 지정 규칙 (라이브러리, API 또는 기타 외부 노출 방법을 배송하지 않는 한) 및 세계화 규칙을 확인하지 않는 것이 좋습니다. (응용 프로그램이 세계화를 적극적으로 사용하지 않는 한). 그것은 당신의 상황에 약간 의존합니다.

나는 다소 동의합니다 Jeroen Huinink의 대답.

프로젝트가 따라야한다고 생각하는 모든 규칙을 켜고 가능한 빨리 문제를 해결해야합니다. 지금 모두 수정할 필요는 없지만 결함 또는 리팩터를 모듈의 메소드를 수정하면 해당 방법이나 모듈에서 정적 분석에서 찾은 문제를 항상 정리할 수 있습니다. 새 코드는 규칙을 준수해야하며 기존 코드는 가능한 빨리 준수로 변환되어야하지만,이를 위해 모든 것을 삭제할 필요는 없습니다.

개발 팀은 또한 프로젝트의 문제를보고 우선 순위를 정할 수 있으며, 아마도 가장 중요한 문제에 대해 문제 추적 시스템에 결함을 제출하여 신속하고 적절한 개발자가 해결할 수 있습니다.

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