Zen Book - 條件語(yǔ)句

禪與Objective-C編程藝術(shù)中文版

好的代碼有一些特性:簡(jiǎn)明,自我解釋,優(yōu)秀的組織,良好的文檔,良好的命名,優(yōu)秀的設(shè)計(jì)以及可以被久經(jīng)考驗(yàn)。

本書(shū)的一個(gè)理念是是代碼的清晰性優(yōu)先于性能,同時(shí)闡述為什么應(yīng)該這么做。

1. 條件語(yǔ)句體應(yīng)該總是被大括號(hào)包圍。

2. 不要使用尤達(dá)表達(dá)式

推薦: if ([myValue isEqual:@42]) { ...

不推薦: if ([@42 isEqual:myValue]) { ...

3. nil 和 BOOL 檢查

nil 是 解釋到 NO,所以沒(méi)必要在條件語(yǔ)句里面把它和其他值比較。同時(shí),不要直接把它和 YES 比較,因?yàn)?YES 的定義是 1, 而 BOOL 是 8 bit的,實(shí)際上是 char 類型。

同時(shí)這樣也能提高一致性,以及提升可讀性。

4. 黃金大道

在使用條件語(yǔ)句編程時(shí),代碼的左邊距應(yīng)該是一條“黃金”或者“快樂(lè)”的大道。 也就是說(shuō),不要嵌套 if 語(yǔ)句。使用多個(gè) return 可以避免增加循環(huán)的復(fù)雜度,并提高代碼的可讀性。因?yàn)榉椒ǖ闹匾糠譀](méi)有嵌套在分支里面,并且你可以很清楚地找到相關(guān)的代碼。

5. 復(fù)雜的表達(dá)式

當(dāng)你有一個(gè)復(fù)雜的 if 子句的時(shí)候,你應(yīng)該把它們提取出來(lái)賦給一個(gè) BOOL 變量,這樣可以讓邏輯更清楚,而且讓每個(gè)子句的意義體現(xiàn)出來(lái)。

6. 三元運(yùn)算符

三元運(yùn)算符 ? 應(yīng)該只用在它能讓代碼更加清楚的地方。 一個(gè)條件語(yǔ)句的所有的變量應(yīng)該是已經(jīng)被求值了的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • #怎樣成為一名優(yōu)秀的健身教練# 現(xiàn)在的健身行業(yè)發(fā)展的越來(lái)越快,各種各樣不同規(guī)模,不同水準(zhǔn)的健身房林立,一個(gè)健身房最...
  • 南山區(qū)期末考試改革 南山區(qū)期末考試“721”模式,出臺(tái)《南山區(qū)中小學(xué)學(xué)業(yè)質(zhì)量評(píng)價(jià)指導(dǎo)意見(jiàn)》,對(duì)學(xué)生學(xué)業(yè)質(zhì)量的評(píng)價(jià),...
    趙雪奎閱讀 373評(píng)論 0 0
  • 版權(quán)歸作者所有,任何形式轉(zhuǎn)載請(qǐng)聯(lián)系作者。 作者:Blue(來(lái)自豆瓣) 來(lái)源:https://book.douban...
    4551ff0ad16f閱讀 516評(píng)論 0 0
  • 柳井正 一位偉大的管理者,把優(yōu)衣庫(kù)打造成世界著名的迅銷集團(tuán)!并且把多年的經(jīng)營(yíng)經(jīng)營(yíng)管理筆記分享,受益匪淺! 一個(gè)優(yōu)...
    Lxinping閱讀 897評(píng)論 0 1
  • 一類是集合數(shù)據(jù)類型,如 list 、 tuple 、 dict 、 set 、 str 等;一類是 generat...
    菩靈閱讀 142評(píng)論 0 0

友情鏈接更多精彩內(nèi)容