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
【疑問(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ì)。
本指南關(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];
在以下的地方使用 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/ )
非 Egyptian 括號(hào)可以用在:
更多建議: