代碼美化

2018-08-12 21:19 更新

美化代碼

空格

  • 縮進(jìn)使用 4 個(gè)空格。 永遠(yuǎn)不要使用 tab, 確保你在 Xcode 的設(shè)置里面是這樣設(shè)置的。
  • 方法的大括號(hào)和其他的大括號(hào)(if/else/switch/while 等) 總是在同一行開(kāi)始,在新起一行結(jié)束。

推薦:

if (user.isHappy) {
    //Do something
}
else {
    //Do something else
}

不推薦:

if (user.isHappy)
{
  //Do something
} else {
  //Do something else
}

* 方法之間應(yīng)該要有一個(gè)空行來(lái)幫助代碼看起來(lái)清晰且有組織。 方法內(nèi)的空格應(yīng)該用來(lái)分離功能,但是通常不同的功能應(yīng)該用新的方法來(lái)定義。 優(yōu)先使用 auto-synthesis。但是如果必要的話(huà), @synthesize and @dynamic

  • 在實(shí)現(xiàn)文件中的聲明應(yīng)該新起一行。
  • 應(yīng)該總是讓冒號(hào)對(duì)其。有一些方法簽名可能超過(guò)三個(gè)冒號(hào),用冒號(hào)對(duì)齊可以讓代碼更具有可讀性??偸怯妹疤?hào)對(duì)其方法,即使有代碼塊存在。

【疑問(wèn)】

推薦:

[UIView animateWithDuration:1.0
                 animations:^{
                     // something
                 }
                 completion:^(BOOL finished) {
                     // something
                 }];

不推薦:

[UIView animateWithDuration:1.0 animations:^{
    // something 
} completion:^(BOOL finished) {
    // something
}];

如果自動(dòng)對(duì)齊讓可讀性變得糟糕,那么應(yīng)該在之前把 block 定義為變量,或者重新考慮你的代碼簽名設(shè)計(jì)。

Line Breaks 換行

本指南關(guān)注代碼顯示效果以及在線(xiàn)瀏覽的可讀性,所以換行是一個(gè)重要的主題。

舉個(gè)例子:

self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];

一個(gè)像上面的長(zhǎng)行的代碼在第二行以一個(gè)間隔(2個(gè)空格)延續(xù)

self.productsRequest = [[SKProductsRequest alloc] 
  initWithProductIdentifiers:productIdentifiers];

括號(hào)

在以下的地方使用 Egyptian風(fēng)格 括號(hào) (譯者注:又稱(chēng) K&R 風(fēng)格,代碼段括號(hào)的開(kāi)始位于一行的末尾,而不是另外起一行的風(fēng)格。關(guān)于為什么叫做 Egyptian Brackets,可以參考 http://blog.codinghorror.com/new-programming-jargon/ )

  • 控制語(yǔ)句 (if-else, for, switch)

非 Egyptian 括號(hào)可以用在:

  • 類(lèi)的實(shí)現(xiàn)(如果存在)
  • 方法的實(shí)現(xiàn)
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)