if
/else
/switch
/while
等) 總是在同一行開始,在新起一行結(jié)束。推薦:
if (user.isHappy) {
//Do something
}
else {
//Do something else
}
不推薦:
if (user.isHappy)
{
//Do something
} else {
//Do something else
}
* 方法之間應該要有一個空行來幫助代碼看起來清晰且有組織。 方法內(nèi)的空格應該用來分離功能,但是通常不同的功能應該用新的方法來定義。
優(yōu)先使用 auto-synthesis。但是如果必要的話, @synthesize
and @dynamic
【疑問】
推薦:
[UIView animateWithDuration:1.0
animations:^{
// something
}
completion:^(BOOL finished) {
// something
}];
不推薦:
[UIView animateWithDuration:1.0 animations:^{
// something
} completion:^(BOOL finished) {
// something
}];
如果自動對齊讓可讀性變得糟糕,那么應該在之前把 block 定義為變量,或者重新考慮你的代碼簽名設(shè)計。
本指南關(guān)注代碼顯示效果以及在線瀏覽的可讀性,所以換行是一個重要的主題。
舉個例子:
self.productsRequest = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
一個像上面的長行的代碼在第二行以一個間隔(2個空格)延續(xù)
self.productsRequest = [[SKProductsRequest alloc]
initWithProductIdentifiers:productIdentifiers];
在以下的地方使用 Egyptian風格 括號 (譯者注:又稱 K&R 風格,代碼段括號的開始位于一行的末尾,而不是另外起一行的風格。關(guān)于為什么叫做 Egyptian Brackets,可以參考 http://blog.codinghorror.com/new-programming-jargon/ )
非 Egyptian 括號可以用在:
更多建議: