代碼排版包括: 空行、空格、斷行和縮進等內容。代碼排版內容比較多工作量很多,但是非常重要。
空行
空行將邏輯相關的代碼段分隔開,以提高可讀性。下列情況應該總是添加空行:
類型聲明之前。
import語句前後。
兩個方法或函數之間。
塊注釋或單行注釋之前。
方法或函數內的兩個邏輯段之間,用以提高可讀性。
一個源文件的兩個片段之間。
空格
在代碼中有些位置是需要有空格的,這個工作量也是很大的。下列是使用空格的規范:
1.賦值符號“=”前後有一個空格。var或let與標識符之間有一個空格。所有的二元運算符,應該使用空格將之與操作數分開。一元操作符和操作數之間不因該加空格,如:++、--等。示例如下。
var a = 10
var c = 10
a += c + d
2. 小左括號“(”之後,小右括號“)”之前不要有空格。示例如下。
a = (a + b) / (c * d)
3. 大左括號“{”之前有一個空格。示例如下。
while a == d {
n++
}
4. 在方法或函數參數之前間有一個空格,參數冒號與數據類型之間有一個空格。
推薦使用:
func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath) {
...
}
不推薦使用:
func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath) {
...
}
斷行
一行代碼的長度盡量避免超過80個字符,為了便於查看是否一行代碼超出80個字符,很多IDE開發工具都可以在編輯窗口設置顯示80行豎線。在Xcode中設置過程是打開菜單Xcode→Preferences,選擇Text Editing標簽,選中Show→Page guideat column 由於有的代碼比較長需要斷行,可以依據如下一般規范斷開:
在一個逗號後面斷開。
在一個操作符前面斷開,要選擇較高級別運算符斷開,而非較低級別運算符斷開。
新的一行應該與上一行縮進兩個級別(8個空格)
縮進
4個空格常被作為縮進排版的一個單位,在開發時候使用制表符進行縮進,雖然默認情況下一個制表符等於8個空格,但是在不同的IDE工具中可能設置的一個制表符與空格對應個數會有所不同。在Xcode中默認是一個制表符對應4個空格,我們可以在Xcode中打開菜單Xcode→Preferences,選擇Text Editing→Indentation標簽,可以在Tab width中進行設置。
縮進可以依據如下一般規范:
在函數、方法、閉包、控制語句、計算屬性等包含大括號“{}”代碼塊中,代碼塊中的內容與首行縮進一個級(4個空格)。
如果是if語句中條件表達式的斷行,那麼新的一行應該與上一行縮進兩個級別(8個空格),再往後的斷行要與第一次的斷行對齊。