ホームページ  >  記事  >  バックエンド開発  >  コード検査と最適化に FxCop を使用する

コード検査と最適化に FxCop を使用する

巴扎黑
巴扎黑オリジナル
2016-12-20 17:22:431325ブラウズ

少し前に、Microsoft の無料テスト ツール FxCop を使用しました。これは、コードの自動テストを実行し、コードの実行効率を向上させるのにも役立ちます。したがって、コードの全体的な品質が向上します

このツールがテストできる場所は次のとおりです: デザイン、グローバリゼーション、相互運用性、命名、パフォーマンス (パフォーマンス ルール)。テスト用に独自のルールを追加することもできます。

このツールは非常に簡単です。すぐに使い始めることができました
いくつかのヒントがあります
1. 間違ったルールをカスタマイズすることをお勧めします

2. ポイント 2 で問題のある接続を接続します。コードの問題については、

3、ブレイキンの情報コメントを参照すると、より良い解決策が得られます


検査後の変更されたコードは

1 クラスの命名規則

2 文字が空であるかどうかの判断は
ですif ( strStartValue.ToString() == "")
Changed to
if (strStartValue.Length() == 0))


3 文字列比較時
dr["PrefixM"].ToString().ToLower() == "mm" String.Compare(strPrefix, "yy", true) を使用 == 0 メソッド


4 メソッドに定義されている未使用のパラメータを削除

5 DataReader で無効な割り当てを削除

5 閉じられていない(他のプログラム内) )

6 プログラム内の未使用のメソッドを削除するように求めるプロンプト

7 キャッチで特定の例外を指定する必要があるというプロンプトを表示し、例外をキャッチする際のメモリ使用量を節約できます

8 参照を使用して冗長を削除します

発生する問題は次のとおりです
1多くのグローバリゼーション要件がありますが、通常はそれに気づきません。開発されたプログラムには複数の言語のサポートが必要ですが、
strMonth = StartDateValue.Month.ToString();

これにより、多言語のサポートが必要であることが示されます

2 プログラムには AssembliesShouldDeclareMinimumSecurity が定義されていません
署名する必要がありますが、通常はこれに気付かないことがほとんどです

3 CLR によって作成されたストアド プロシージャには out パラメーターが必要ですが、プロンプトも表示されるため、詳細詳細なルールを策定する必要があります

4 ループ内に文字列の追加がある場合は、必ず stringbuilder を使用するように求められます。この変更は、事前に注意しておかないと非常に面倒です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。