VSプロジェクトの未使用のusingステートメントを削除することには利点がありますか?


21

VSプロジェクトの未使用のusingステートメントを削除すること(Resharperを使用して実行できるなど)にメリットはありますか?


1
removing unused references(DLL)について尋ねた印象を持ち、すべての答えはについてremoving unused using statementsです。
ラズバンフラビウスパンダ

RăzvanPanda@:いいえ、それはされたステートメントを使用しました。R#で後者を実行できる場合は、チェコ語を使用する必要があります。これも快適に低い温度です。
B.クレイシャノン14年

8、意味に合わせて文言を修正します。
ラズヴァンフラビウスパンダ14年

1
最新のR#を使用して未使用のDLL参照を削除できますが、動的DLL参照または実行時に問題が発生する可能性があることに注意することが重要です。
ラズヴァンフラビウスパンダ14年

回答:


23

それがあなたが意味するものである場合、パフォーマンス上の利点はありません。

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

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


未使用のUsingsを削除すると、間接的な利点があります。これにより、外部DLLへの1つまたは複数の参照をソリューションから削除できる場合、アプリケーションの展開サイズや起動時間にメリットがあります。
ir 14

1
usingを削除しても、生成されたILは変わりません。そのため、どのような影響を受けるかわかりません。
ロバートハーヴェイ14

True:未使用usingのsまたはDLL参照(Reference IncludeMSBuildファイル要素、/reference:CSC引数)を追加してもILは変わりません。念頭に置いて:未使用usingのsをWebアプリケーションプロジェクトから削除します。これらは、多数のDLL参照を含めることを強制する唯一のコード行であったため、それらを削除します。あなたが言うように、参照がUNCパスであった場合(CSCはすべての参照パスをチェックします)、より速くビルドします。些細な勝利2:CI(スクリプトはすべての参照されたDLLを取得します)の速度が向上します。たとえば、ソース管理サーバーからビルドサーバー、ビルドサーバー、アプリサーバーにコピーされるファイルが少なくなります。

短いコードほど読みやすいコードです。少ないほど多い-これは利点であり、そのために行う価値があります。
niico

24

はい-2つの主な利点を考えることができます。

  1. 主な機能上の目的を超えて(つまり、コードの冗長性を減らすために)、コードファイルの上部にある「Using」ステートメントリストは、将来の読者(特にResharperのない読者)に、どのコードネームがそのコードファイルに関連する(または少なくとも関連していた)かを伝えることができます。このリストを積極的にプルーニングすると、より優れたシグナリングメカニズムとして機能できます。
  2. 未使用のネームスペースを削除すると、入力中のテキストエディターのオートコンプリート候補の数が減ります。オートコンプリートリストにまったく依存している場合、これにより、「まっすぐで狭い」状態を維持でき、入力速度が向上する可能性があります。目的のオートコンプリート候補をほんの少し速く見つけることができるはずです。

1
ああ、非常に良い点、特に#2!
B.クレイシャノン

0

使用されていないコードを削除することは、余分な手荷物であり、得られた効率を測定することは困難です。

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

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

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

4
質問が一般的に使用されていないコードに関するものではありません、それは未使用の参照についてです
ブヨ

...見回答方法:「質問を読んで、慎重に、どのような。特に、を尋ねる質問があることを確認してくださいあなたの答えがあることを提供-または実行可能な代替案...?」
ブヨ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.