7

FxCop や Gendarme に追加してほしい定義可能な静的コード チェック ルールは何ですか?

ルールの追加を希望する理由は何ですか? たとえば、メリットは何ですか?

あなたのルールはどのように実装されますか?

4

4 に答える 4

2

独自のルールをすばやく定義して実装したいと考えています。FxCop でこれを 1 回試しましたが、API があまり明確ではないことがわかりました。また、ドキュメントもあまり多くありませんでした。私はFxCop 1.36を使用しましたが、変更された可能性があります...

だから私はFxCopが明確で使いやすいインターフェースを持っていることを望んでいます...それは素晴らしいことです:)

私が実装しようとしたルールは次のとおりです。

  • DocumentInternalMethods
  • DocumentInternalTypes
  • ...

基本的に、非公開メンバーに xml-comments を強制したかったのです。

于 2010-02-16T14:34:13.103 に答える
1

インターフェースの可能性を認識できるほどスマートなバイナリ分析が本当に必要です。

定義されたタイプとそのメンバーにアプローチすることで判断できる場合、インターフェースに外挿できるコモンがあるかどうか。

明らかに、これは警告以上のものであってはなりません。明示的にインターフェースを使用しないことが望まれる場合があるからです。

于 2010-02-16T15:00:09.913 に答える
1

個人的には、ステートメントIDisposableで実装を使用しないことを望みます。using

したがって、次のようなコードがあるとします。

var fs = new FileStream(...);

// Other code.

fs.Dispose();

usingステートメントで使用するように指示します。

利点は、破棄する必要があるオブジェクトがタイムリーに破棄されていないことに気付いていない可能性がある場合に警告することです。

IDisposableただし、このようなルールの using ステートメントで実装を宣言しないことが有効な状況であり、すぐに苦痛になる場合が十分にあります。ほとんどの場合、このケースはIDisposable実装をメソッドへのパラメータとして取っています。

私が意味していないのは、実装の詳細が呼び出しの必要性を取り除くクラスの使用法ですDispose(例:MemoryStreamまたはDataContext); それらは実装されており、実装の詳細に関係なく、IDisposable常にDisposeそれらを呼び出す必要がありました。

于 2010-02-16T14:35:08.583 に答える