FxCop や Gendarme に追加してほしい定義可能な静的コード チェック ルールは何ですか?
ルールの追加を希望する理由は何ですか? たとえば、メリットは何ですか?
あなたのルールはどのように実装されますか?
FxCop や Gendarme に追加してほしい定義可能な静的コード チェック ルールは何ですか?
ルールの追加を希望する理由は何ですか? たとえば、メリットは何ですか?
あなたのルールはどのように実装されますか?
独自のルールをすばやく定義して実装したいと考えています。FxCop でこれを 1 回試しましたが、API があまり明確ではないことがわかりました。また、ドキュメントもあまり多くありませんでした。私はFxCop 1.36を使用しましたが、変更された可能性があります...
だから私はFxCopが明確で使いやすいインターフェースを持っていることを望んでいます...それは素晴らしいことです:)
私が実装しようとしたルールは次のとおりです。
基本的に、非公開メンバーに xml-comments を強制したかったのです。
インターフェースの可能性を認識できるほどスマートなバイナリ分析が本当に必要です。
定義されたタイプとそのメンバーにアプローチすることで判断できる場合、インターフェースに外挿できるコモンがあるかどうか。
明らかに、これは警告以上のものであってはなりません。明示的にインターフェースを使用しないことが望まれる場合があるからです。
個人的には、ステートメントIDisposable
で実装を使用しないことを望みます。using
したがって、次のようなコードがあるとします。
var fs = new FileStream(...);
// Other code.
fs.Dispose();
using
ステートメントで使用するように指示します。
利点は、破棄する必要があるオブジェクトがタイムリーに破棄されていないことに気付いていない可能性がある場合に警告することです。
IDisposable
ただし、このようなルールの using ステートメントで実装を宣言しないことが有効な状況であり、すぐに苦痛になる場合が十分にあります。ほとんどの場合、このケースはIDisposable
実装をメソッドへのパラメータとして取っています。
私が意味していないのは、実装の詳細が呼び出しの必要性を取り除くクラスの使用法ですDispose
(例:MemoryStream
またはDataContext
); それらは実装されており、実装の詳細に関係なく、IDisposable
常にDispose
それらを呼び出す必要がありました。