いくらいクリーンも利用条項が削除された単位がついているものが多いのが他の単位はいくらですか?
-
11-09-2019 - |
質問
個人的に好きだっ uses
条項として可能ですが、多くのアプリケーションの開発にも大きすぎる単位(お腹の張の実行) Forms
または VirtualTrees
に必要な最低でもユニット。
い:いくらいの掃除 uses
条項の場合でも最終的なユニットから削除されました。その場合:れません。と:掃除の uses
項うすれば速やかにできるので待ちまでを見たい未使用のユニットによる機?
解決
それは他の場所でのプロジェクトで使われている場合は読みやすいですクリーンなコードを生成することを除いて、それは、大きな違いをすることはありません。それが影響する可能性がありますいくつかのマイナーなものとはいえ、あります。
コンパイル順序は:コンパイラはに基づいている単位使用され単位でユニットをコンパイルするためにどのような順序を決定します。あなたが早期ユニットのuses節からユニットを取り外した場合は、それが使用される単位は、コンパイルサイクルの後にコンパイルされることがあります。これは、多くのように聞こえるかもしれないが、単位がコンパイルされたとの心の初期化中にクマはのセクションでは、同じ順序で実行します。これは実際にも、プロジェクトに大きな違いを作るべきではありません。
CodeInsight:あなたは、コード補完のドロップダウンをプルアップすると、それは現在入手可能なすべてのユニットに基づいて選択肢を提供します。したがって、それは流血の事をプルアップするのにかかる時間 - - あなたはそれが通過フィルタリングするために持っている選択肢の数を減らすことができます!あなたが使用しているユニットの数を減らすことによって。 (いいえ、私は苦いじゃない。なぜあなたは聞いていますか?)
他のヒント
一般的にありません。ユニットは、一度使用されている場合は、どこかのプロジェクトでは、使われて何回もかまいません。逆に、それはまだどこかに少なくとも一度は使われていた場合、あなたがからユニットを取り外す方法を多くの場所は重要ではありません。コンパイルされたプログラムは、同じように動作します、そして、それはほぼ同じ大きさを持つことになります。
唯一の違いは、ユニットの初期化と終了処理部の順であろう。ユニット-使用順序は、正確な効果が文書化されていないが、これらのセクションは、(その初期化順序に依存しないようにしよう)、中に実行される順序に影響します。
しかし、私はまだあなたがあなたの変数のリストとあなたのパラメータリストをクリーンアップすることを奨励しているのと同じ理由のために、あなたのユニットのリストをクリーンアップすることをお勧めします。あなたが必要としないものを取り除くときには、それが簡単にあなたが何を読んでいることは、コードが何をするかの正確な画像が得られることが合理的に確信することができるので、あなたが守ってきたコードを読み取ることができます。あなたのコードは、ユニットの束に言及したが実際にそれらを利用したことがない場合は、あなたや他の誰かがコードを見て、次回は、あなたのコードが施設を使用する場所を見つけようとしていくつかの時間を費やすつもりは良い変更がありますこれらのユニットの。 (あなたは自分自身に、「うーん、このコードはGraphics
が含ま言うでしょうが、それは何かを描くどこで見ることができない。私は、このコードは、そのような任意の責任を持っていたとは思いませんでしたので、別のを見て、より良いでしょう。ねえ、同僚は - ?このユニットは、物事を描く場所あなたが私に教えて、あなたの一日のうちの時間がかかることがあります ")
あり 一trick ることがしばしば見落とき来でき込ま、裏面:
ものがある場合、 初期化/活 コードで は常に実行され がない場合でもコードがあると言われるお部の ユニットは含まれま がするのではなく).なので、除去ユニットが必要なお客様のプロジェクトで顕著な差です。
もう一つ注目すべきである の単位を決定する識別子のコンパイラ送迎sがある場合 漢 2ルが受信できるように許可設定をおこなprefixingのユニット名称(だいている。
その他、ベイルート-アメリカンやRob指摘され、単位の順に大きな影響を与えなければならないの集計の配列の初期化/ファイナライズ.
としてのコードの洞察を可能に削除されたり不必要な単位が世界的にもすべてご使用されるユニットのプロジェクトを明示的に追加されdprに頼るのではなく、検索パスに見するとimplicitely加を通じて他のユニットです。
私はメイソンとロブに反対stronlgy:それが違いを生むん。
!依存関係削減ます。
メイソンとRobにより説明したように、の違いは、現在のプロジェクトではありません。代わりに、違いは次のプロジェクトです。あなたは(クライアント)単位で不要(サーバー)の単位を保つ場合は、別のプロジェクトでそのクライアントユニットを使用するだけでなく、依存関係に引っ張ってきます。他の正当化のクライアント単位だけで引き込ま単位のために存在しない場合は、膨張を追加しています。
あなたのコード内の未使用のユニットを見つけるために無料のパスカル・アナライザを使用します。