好的代碼有一些特性:簡明玻驻,自我解釋供常,優(yōu)秀的組織摊聋,良好的文檔,良好的命名话侧,優(yōu)秀的設計以及可以被久經考驗栗精。
本書的一個理念是是代碼的清晰性優(yōu)先于性能,同時闡述為什么應該這么做瞻鹏。
1. 條件語句體應該總是被大括號包圍悲立。
2. 不要使用尤達表達式
推薦: if ([myValue isEqual:@42]) { ...
不推薦: if ([@42 isEqual:myValue]) { ...
3. nil 和 BOOL 檢查
nil 是 解釋到 NO,所以沒必要在條件語句里面把它和其他值比較新博。同時薪夕,不要直接把它和 YES 比較,因為 YES 的定義是 1赫悄, 而 BOOL 是 8 bit的原献,實際上是 char 類型馏慨。
同時這樣也能提高一致性,以及提升可讀性姑隅。
4. 黃金大道
在使用條件語句編程時写隶,代碼的左邊距應該是一條“黃金”或者“快樂”的大道。 也就是說讲仰,不要嵌套 if 語句慕趴。使用多個 return 可以避免增加循環(huán)的復雜度,并提高代碼的可讀性鄙陡。因為方法的重要部分沒有嵌套在分支里面冕房,并且你可以很清楚地找到相關的代碼。
5. 復雜的表達式
當你有一個復雜的 if 子句的時候趁矾,你應該把它們提取出來賦給一個 BOOL 變量耙册,這樣可以讓邏輯更清楚,而且讓每個子句的意義體現(xiàn)出來毫捣。
6. 三元運算符
三元運算符 ? 應該只用在它能讓代碼更加清楚的地方详拙。 一個條件語句的所有的變量應該是已經被求值了的。