web-dev-qa-db-ja.com

VSプロジェクトで未使用のusingステートメントを削除するメリットはありますか?

VSプロジェクトで未使用のusingステートメントを削除することには利点がありますか(Resharperを使用して実行できるなど)、またはVSがビルド/デプロイ時にそれを自動的に処理しますか?

22
B. Clay Shannon

それがあなたの意味するところなら、パフォーマンス上の利点はありません。

アセンブリ内のすべての参照は完全に修飾されています。コンパイラーは、コードで提供する参照を使用して識別子を完全に修飾するだけなので、ソースコードで未使用の参照が与える影響は、読みやすさのわずかな低下(この参照がここにある理由)とコンパイル時間のわずかな増加のみです。

言い換えると、未使用の参照を削除してもしなくても、生成されるILはまったく同じです。

24
Robert Harvey

はい-主なメリットは2つ考えられます。

  1. その主な機能目的(つまり、コードの冗長性を減らす)を超えて、コードファイルの上部にある「使用」ステートメントリストは、将来の読者(特にResharperを持たない読者)に、どの名前空間が(または少なくともあった)かを伝えることができます。 =)そのコードファイルに関連しています。このリストをアクティブにプルーニングすると、より優れたシグナリングメカニズムとして機能します。
  2. 未使用の名前空間を削除すると、入力時にテキストエディターでオートコンプリート候補の数が減ります。オートコンプリートリストにまったく依存している場合は、目的のオートコンプリート候補を少しだけ早く見つけることができるため、これにより「直線的で狭い」状態を維持し、タイピング速度を上げることができます。
26
Jim G.

未使用のコードを削除すると、余分な手荷物となり、得られた効率を測定するのが難しくなります。

  • 未使用のコードを削除すると、コンパイル時間が短縮され、15〜20分かかるプロジェクトに取り組んでいます。未使用のコードがたくさんあります。未使用のコードを削除することで、コンパイル時間が約7分に短縮されました。これにより、チームに多くの開発者がいる場合に差異が生じます。これにより、全員がすばやくビルドしてテストする時間を節約できます。

  • ビルドと単体テストを自動化した場合は、不要な単体テストを削除しました。繰り返しになりますが、これは単体テストの実行にかかる時間の短縮です。継続的ビルド管理プロセスの効率が向上しました。

    • 未使用のコードを使用すると、バイナリのフットプリントが大きくなります。コードフットプリントを小さくすると、最初のロード/起動にかかる時間が短縮されます。利益は非常にわずかで主観的かもしれませんが。
0
Betnag