2012-09-10 25 views
3

我在Objective-C中對各種類使用了幾個類別,我想知道是否將導入這些類別的最佳做法視爲最佳做法?例如,here's a nice category for NSDate。我有兩種選擇:Objective-C:導入類別標題的最佳實踐

  1. 我只在我使用它的文件中導入這個類別。我反對這個只是因爲我認爲它會在我的#imports中引入混亂。我喜歡他們簡潔而有意義。

  2. 我將該類別導入到前綴頭文件中,並在整個應用程序中隨意使用它。我反對這個,因爲它感覺全局變量。但是,再次,類別不是狀態,它們只是行爲。

我很好奇,聽到一個更大的團隊在他們的編碼標準和他們所選擇的標準,具體原因如何處理這一點。

在此先感謝!

回答

4

將其導入需要的地方。

如果您的項目中的大部分文件都需要它,那麼將它放入pch並不是一個可怕的決定。

但是,考慮一下蘋果公司的框架。它們爲每個零件提供單獨的頭文件,因此您可以包含所需的零件。但是,它們還爲整個框架提供了一個集成標題,您可以通過一次導入將所有內容包含在框架中。

現在,編譯時間如此之快,以至於您不必擔心會像以前那樣對包含進行挑剔(當然,您可以辯論這是否是惡作劇)。

我已經解決了導入完整的Objective-C框架。像數據類別這樣的一次性庫將被包含在它們所需的文件中,除非它們在很大比例的文件中顯然將被需要。

C++文件仍然包含在簡單的按需基礎上。

+1

請注意,大量使用類別來擴展Apple框架存在巨大的脆弱風險。也就是說,你實際上將你的代碼與框架分層交叉>什麼是基礎 - 核心數據 - 核心動畫 - UIKit - 你的應用*變成了基礎 - (你的代碼) - 核心數據 - (你的代碼) - 核心動畫 - (你的代碼) - UIKit - (您的代碼) - 您的應用程序*,因此隨着新框架的推出使其維護成本更高。有時,最好將新功能隔離到輔助類中。 – bbum

+0

@bbum確實。偉大的一點。 「適度的一切」似乎適用於生活的各個方面......和軟件開發。 –