iOS 使用清晰而協(xié)調(diào)的命名方式

類案淋、方法及變量的命名是Objective-C編程的重要環(huán)節(jié)距辆。通常會(huì)覺得OC的語言很繁瑣换薄,因?yàn)槠湔Z法結(jié)構(gòu)使代碼讀起來和句子一樣。

NSString *text = @"The quick brown fox jumped over the lazy dog.";
NSString *newText =  [text stringByReplacingOccurrencesOfString:@"cat" withString:@"fox"];

此段代碼看起來比較繁瑣融师,但是準(zhǔn)確的表達(dá)了開發(fā)者想做的事右钾。在命名不像OC這般復(fù)雜的語言中,類似的程序可能會(huì)這樣寫

string text = @"The quick brown fox jumped over the lazy dog.";
string newText =  text.replace("cat", @"fox");

這樣寫雖然簡(jiǎn)單旱爆,但是可能會(huì)疑惑:這兩個(gè)參數(shù)是如何解讀呢舀射?是fox替換cat,還是cat替換fox怀伦;還有一個(gè)疑問:replace這個(gè)函數(shù)是把text里出現(xiàn)的所有fox都替換脆烟,還是只替換出現(xiàn)的第一個(gè)?其名稱沒有清楚地表達(dá)出這些意思房待。而OC的命名方式雖然長(zhǎng)了一點(diǎn)邢羔,但是卻非常清晰。

方法與變量名使用了“駝峰命名”桑孩,以小寫字母開頭拜鹤,其后每個(gè)單詞首字母大寫。類名也用駝峰命名發(fā)洼怔,不過其首字母需要大些署惯。
關(guān)于駝峰命名法,我推薦《禪與 Objective-C 編程藝術(shù)》

隨說使用長(zhǎng)名字可以使代碼更易讀镣隶,也應(yīng)該盡量言簡(jiǎn)意賅极谊。
NSString類展示了一套良好的命名習(xí)慣。
+string
工廠方法安岂,用于創(chuàng)建新的空字符串
+stringWithString
工廠方法轻猖,根據(jù)某字符串創(chuàng)建出與之內(nèi)容相同的新字符串。
+localizedStringWithFormat
工廠方法域那,根據(jù)特定格式創(chuàng)建出新的“本地化字符串”咙边。
等等。次员。败许。
使用方法命名時(shí),注意幾條規(guī)則:
1.如果方法的返回值是新創(chuàng)建的淑蔚,那么方法名的首個(gè)詞應(yīng)是返回值類型市殷,除非前面還有修飾語,例如localizedString刹衫。屬性的存取方法不遵循這種命名方式醋寝,因?yàn)橐话阏J(rèn)為這些方法不會(huì)創(chuàng)建新的對(duì)象搞挣,即便有時(shí)返回內(nèi)部對(duì)象的一份拷貝,我們也認(rèn)為那相當(dāng)于原有的對(duì)象音羞。
2.應(yīng)該把表示參數(shù)類型的名詞放在參數(shù)前面囱桨。
3.如果方法要在當(dāng)前對(duì)象上執(zhí)行操作,那么就應(yīng)該包含動(dòng)詞嗅绰;若執(zhí)行操作時(shí)還需要參數(shù)舍肠,就在動(dòng)詞后面加上一個(gè)或多個(gè)名詞。
4.不要使用str這種簡(jiǎn)稱
5.Boolean屬性應(yīng)該加is前綴办陷。如果某方法返回非屬性的Boolean值貌夕,那么應(yīng)該根據(jù)其功能,選用has或is前綴民镜。
6.由“輸入輸出”來保存返回值的方法用get前綴啡专。

類與協(xié)議的命名
命名方式應(yīng)該協(xié)調(diào)一致。如果從其他框架中繼承子類制圈,那么務(wù)必遵循其命名慣例们童,例如,繼承自UIView的自定義子類鲸鹦,那么累名末尾的詞必須是view

總結(jié):
1.起名時(shí)應(yīng)遵從標(biāo)準(zhǔn)的Objective-C命名規(guī)范慧库,這樣創(chuàng)建出來的接口更容易為開發(fā)者所理解。
2.方法名要言簡(jiǎn)意賅馋嗜。
3.方法名里不要使用縮略后的類型名稱齐板。

讀Effective Objective-C 2.0 有感

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市葛菇,隨后出現(xiàn)的幾起案子甘磨,更是在濱河造成了極大的恐慌,老刑警劉巖眯停,帶你破解...
    沈念sama閱讀 216,651評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件济舆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡莺债,警方通過查閱死者的電腦和手機(jī)滋觉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來齐邦,“玉大人椎侠,你說我怎么就攤上這事〈肽矗” “怎么了肺蔚?”我有些...
    開封第一講書人閱讀 162,931評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我宣羊,道長(zhǎng),這世上最難降的妖魔是什么汰蜘? 我笑而不...
    開封第一講書人閱讀 58,218評(píng)論 1 292
  • 正文 為了忘掉前任仇冯,我火速辦了婚禮,結(jié)果婚禮上族操,老公的妹妹穿的比我還像新娘苛坚。我一直安慰自己,他們只是感情好色难,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,234評(píng)論 6 388
  • 文/花漫 我一把揭開白布泼舱。 她就那樣靜靜地躺著,像睡著了一般枷莉。 火紅的嫁衣襯著肌膚如雪娇昙。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,198評(píng)論 1 299
  • 那天笤妙,我揣著相機(jī)與錄音冒掌,去河邊找鬼。 笑死蹲盘,一個(gè)胖子當(dāng)著我的面吹牛股毫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播召衔,決...
    沈念sama閱讀 40,084評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼铃诬,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了苍凛?” 一聲冷哼從身側(cè)響起趣席,我...
    開封第一講書人閱讀 38,926評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎毫深,沒想到半個(gè)月后吩坝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,341評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡哑蔫,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,563評(píng)論 2 333
  • 正文 我和宋清朗相戀三年钉寝,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闸迷。...
    茶點(diǎn)故事閱讀 39,731評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嵌纲,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腥沽,到底是詐尸還是另有隱情逮走,我是刑警寧澤,帶...
    沈念sama閱讀 35,430評(píng)論 5 343
  • 正文 年R本政府宣布今阳,位于F島的核電站师溅,受9級(jí)特大地震影響茅信,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜墓臭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,036評(píng)論 3 326
  • 文/蒙蒙 一蘸鲸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧窿锉,春花似錦酌摇、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至洼滚,卻和暖如春埂息,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背判沟。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工耿芹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挪哄。 一個(gè)月前我還...
    沈念sama閱讀 47,743評(píng)論 2 368
  • 正文 我出身青樓吧秕,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親迹炼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子砸彬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,629評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 蘋果官方文檔翻譯 《Objective-C語言編程》(Programming with Objective-C) ...
    fever105閱讀 25,668評(píng)論 19 130
  • iOS編程規(guī)范0規(guī)范 0.1前言 為??高產(chǎn)品代碼質(zhì)量,指導(dǎo)廣大軟件開發(fā)人員編寫出簡(jiǎn)潔、可維護(hù)斯入、可靠砂碉、可 測(cè)試、高效...
    iOS行者閱讀 4,455評(píng)論 21 35
  • 使用清晰而協(xié)調(diào)的命名方式 起名時(shí)應(yīng)遵從標(biāo)準(zhǔn)的Objective-C命名規(guī)范刻两,這樣創(chuàng)建出來的接口更容易為開發(fā)者所理解...
    Mustard_Buli閱讀 290評(píng)論 0 0
  • 夜增蹭,為何扣醒我的夢(mèng)鄉(xiāng)?我坐在黑色又黑色的夜的黑磅摹,在黑色的記憶中滋迈,再一次碾過你的壓痕,你連續(xù)不斷緊跟其后…緊抽一...
    海上紅城閱讀 162評(píng)論 0 0
  • 五點(diǎn)半吃的晚餐户誓,七點(diǎn)半就餓了饼灿。不管是想瘦還是想養(yǎng)生,晚上是不該多吃的帝美“恚可是餓的難受啊,就把冰箱里剩下的一根紅薯煮了...
    一路李花開閱讀 250評(píng)論 0 0