문제

FXCOP 및/또는 GENDARME에 추가하고 싶은 정의 가능한 정적 코드 점검 규칙은 무엇입니까?

규칙이 추가 된 이유, 예를 들어 혜택 등은 무엇입니까?

규칙을 어떻게 구현할 수 있습니까?

도움이 되었습니까?

해결책

개인적으로, 나는 사용하지 않는 것을 선호합니다 IDisposable 구현 using 진술.

따라서 다음과 같은 코드가 있다면 :

var fs = new FileStream(...);

// Other code.

fs.Dispose();

그것은 당신에게 그것을 사용한다고 말할 것입니다 using 성명.

이점은 배치해야 할 물체가 적시에 폐기되지 않는 위치를 알지 못할 수도있는 경우에 경고한다는 것입니다.

그러나 선언하지 않는 것이 유효한 상황 인 충분한 시간이 있습니다. IDisposable 이와 같은 규칙에 대한 사용 명세서에서 구현은 매우 빠르게 고통이됩니다. 가장 자주이 경우는 복용하고 있습니다 IDisposable 메소드의 매개 변수로 구현.

내가하는 일 ~ 아니다 구현 세부 사항이 호출 필요성을 제거하는 클래스의 사용법입니다. Dispose, (예 : MemoryStream 또는 DataContext); 그 구현 IDisposable 그리고 항상 있어야합니다 Dispose 그들에 관계없이 그들에게 전화를 걸었다 구현 노출 된 계약에 대해 항상 코딩하는 것이 좋습니다.

다른 팁

내 자신의 규칙을 매우 빨리 정의하고 구현하고 싶습니다. 나는 이것을 FXCOP에서 한 번 시도했지만 API가 명확하지 않다는 것을 알았습니다. 그리고 주위에 문서가 너무 많지 않았습니다. 나는 FXCOP 1.36을 사용했는데 아마도 상황이 바뀌었을 것입니다 ...

그래서 나는 fxcop이 명확하고 사용하기 쉬운 인터페이스를 갖는 것을보고 싶습니다 ... 그것은 좋을 것입니다 :)

내가 구현하려는 규칙은 다음과 같습니다.

  • DocumentInternalMethods
  • DocumentInternaltypes
  • ...

기본적으로 나는 비공개 회원에 대한 XML-Comments를 시행하고 싶었습니다.

이진 분석이 인터페이스의 가능성을 인식하기에 충분히 똑똑하기를 정말로 원합니다.

정의 된 유형과 멤버에 접근하여 결정할 수 있다면 인터페이스에 추정 될 수있는 커먼즈가있는 경우.

분명히, 이것은 때로는 인터페이스를 명시 적으로 사용하지 않기 때문에 경고 이상이되어서는 안됩니다.

이것에 대해 생각할 때, 나는 또한 이진 분석이 액세스 수정 자의 다운 그레이드를 확인할 수있을만큼 똑똑하다는 것을보고 싶습니다.

클래스, 속성 또는 방법이 더 제한 될 수 있는지 판단하기는 어렵지 않아야합니다.

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