簡體   English   中英

在Cocoa中有* your * constant / static變量有什么有用的命名約定嗎?

[英]Are there any useful naming conventions for *your* constant/static variable in Cocoa?

我知道常量以k前綴開頭,但是有沒有人有自己的常量前綴,所以他們可以輕松地完成常量,而不是Apple的?

由於我的公司名稱,我在課程中使用了三個字母的前綴,讓我們假裝它是OMG 我嘗試用omgkConstantName為我的常量加前綴,但這並不是很令人滿意。 我也用kkok來玩( o來自OMG。)或者我應該做kOMGConstantName,這似乎更多Cocoa-ish?

快速找到自己的常量似乎非常有用,就像你想要進入自己的類一樣。 有沒有人這樣做? 可可風格可怕嗎?

另外,是否有一個很好的靜態變量命名約定,你只能在一個類中使用,比如JSON字典的鍵? 他們應該有k嗎? 他們應該從大寫開始,還是遵循正常的案例慣例?

// Static Variables
static NSString *searchTextKey = @"searchText";
static NSString *searchResultsKey = @"searchResults";
(more)

Apple的Cocoa編碼指南建議對枚舉使用與函數相同的命名約定。 遵循這個建議, OMGConstantName是正確的。

我嘗試一直使用kJAFoo (或其中XX是項目前綴的kXXFoo )作為我的公共常量 - 特別是實際的const是導出符號 - 但通常在實現文件中使用kFoo作為枚舉或static const 類似地,我在使用導出的全局變量的極少數情況下使用sFoo作為靜態變量和gJAFoo

但是,這些情況都不如命名空間類(以及導入類中的類別中的方法)那么重要,因為大多數類型的沖突將在編譯或鏈接時而不是運行時出現。

我通常會使常量Pascal大小寫。

如果您選擇遵循在所有內容上添加前綴的“命名空間約定”,那么您也可以使用它。

所以我通常會這樣做

static NSString *SearchTextKey = @"searchText";

你可以選擇命名它雖然它會是它(假設你的前綴是ZK)

static NSString *ZKSearchTextKey = @"searchText";

一般來說,我只根據谷歌的推薦(或者至少是在我的命名約定時)確定了多個項目中使用的命名空間。

最重要的是,無論你采取何種慣例。 堅持並保持一致(至少在給定的項目中)。 在某個時刻,猜測自己只是浪費時間。

我通常遵循與類相同的前綴/大小寫約定,所以在Cocoa有NSTouchPhaseBegan我可能有GLTuneNameKey

暫無
暫無

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

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