簡體   English   中英

在Delphi 2010中將文件添加到DPR文件與項目路徑

[英]Adding files to the DPR file vs project paths in Delphi 2010

我們正在從D7遷移到D2010,並正在就清理項目路徑進行辯論。 我們有許多目錄,其中包含大量的Pas文件,這些目錄包含在某些項目路徑中,但實際上只有少數文件被任何單個項目使用。

一種選擇是完全消除項目路徑,並且只在dpr中使用所有已使用的文件。

第二個選項是僅保留dpr中所需的文件,並具有指向其余文件的目錄的項目路徑。

對於另一個選項,是否存在任何爭議?

將所有單元明確地放在dpr中可以極大地改善編譯時間,代碼完成,錯誤洞察和一般導航。
它不會阻止您將文件保存在文件夾和子文件夾中,而只是不依賴於不同的路徑來查找它們。
在一個擁有數百萬LOC的大項目中,它產生了巨大的差異。

我贊成將“庫單元”與“項目單元”分開,並將所有“庫單元”保留在搜索路徑中,並將所有“項目單元”保存在項目文件中。 原因如下:

  • 我們的業務線項目規模龐大,幾乎是百萬種LOC項目,但除此之外,還有數百個小型項目可供各種小型項目使用。 在搜索路徑上提供“庫單元”使得在不將它們添加到項目的情況下使用這些單元變得非常容易:減少一個步驟!
  • 使用搜索路徑可以更輕松地移動PAS文件。 這對我來說很重要,因為我正在重新組織整個“構建環境”以更好地利用版本控制系統。
  • 當您更改其中一個共享單元並且它依賴於另一個共享單元時,您不需要更新大量項目,它們只是起作用。
  • 我從不考慮將第三方組件(或VCL組件)添加到我的項目中,那么為什么要將我的“庫單元”添加到項目中呢? 我們需要在某處繪制線,因為如果我們絕對將所有文件添加到項目中希望更快的編譯時間,我們最終會得到無法管理的大型項目!
  • Delphi自動將其DPR文件中的文件名更改為相對文件名。 因此,您無法真正將項目從其當前位置移開。 現在嘗試“分支”並在同一台機器上同時保留項目的兩個副本(“發布”和“正在進行中的工作”)。 (這是我為GIT准備我的構建環境,其唯一目的是能夠分支)。

作為參考,我的“庫單元”是在不相關的項目中使用的那些單元(想想:組件和實用程序)。

我認為有利於包括項目本身在項目中使用的所有文件。 這將通過確保使用的單元是項目的一部分來提高“見解”的性能。 此外,這將使您能夠更輕松地在項目管理器中管理您的代碼。 擁有大型復雜路徑是脆弱的,很難管理。

關於加速Insights的評論讓我很感興趣,我會嘗試一下,但到目前為止,我從未在使用它們的項目中包含共享單元。 相反,我為每個庫創建了包並將它們添加到項目組中(主要僅用於組織目的,即我從未真正將它們編譯為運行時包)。 我發現這更容易管理(特別是項目管理器中的所有最新改進),而不是將所有文件放在一個項目中,因為單個(包)項目中的文件夾層次結構不會那么深,特別是沒有“... “那么平坦。

不包含項目中所有文件的原因:

  • 打開/關閉項目的時間減少(表單和數據模塊需要額外的時間)
  • 更快的文件重構(重命名/移動文件和目錄不需要編輯所有項目)
  • 更容易找到作為核心要求的單元和應用程序邏輯的入口點位置( uses MyInterfaces, MyTypes, MymMainUnit;

而這個QC條目:

報告編號:77687(RAID:273031)
狀態:打開.dpr源代碼中的編輯速度變慢,項目中有更多單元http://qc.embarcadero.com/wc/qcmain.aspx?d=77687

更新:現在我知道有很多方法可以打開項目文件:) - 但我的觀點是,在一個有500個單位引用的dpr中,很難找到“重要”(或“主要”)單位,深入研究源代碼的起點 - 如果代碼是一個僅包含必要單元引用的“輕量級”項目文件,則更容易調查代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM