資源描述:
《iOS應(yīng)用開發(fā)最佳實(shí)踐編寫高質(zhì)量ObjectiveC代碼》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、網(wǎng)址:edu.51CTO.comiOS應(yīng)用開發(fā)最佳實(shí)踐:編寫高質(zhì)量Objective-C代碼點(diǎn)標(biāo)記語法屬性和冪等方法(多次調(diào)用和一次調(diào)用返回的結(jié)果相同)使用點(diǎn)標(biāo)記語法訪問,其他的情況使用方括號(hào)標(biāo)記語法。良好的風(fēng)格:1.view.backgroundColor?=?[UIColor?orangeColor];?2.[UIApplication?sharedApplication].delegate;?不良的風(fēng)格:1.[view?setBackgroundColor:[UIColor?orangeColor]];?2.UIApplication.sharedApplication.delega
2、te;?間距二元運(yùn)算符和參數(shù)之間需要放置一個(gè)空格,一元運(yùn)算符、強(qiáng)制類型轉(zhuǎn)換和參數(shù)之間不放置空格。關(guān)鍵字之后圓括號(hào)之前需要放置一個(gè)空格。1.void?*ptr?=?&value?+?10?*?3;?2.NewType?a?=?(NewType)b;?網(wǎng)址:edu.51CTO.com1.for?(int?i?=?0;?i?10;?i++)?{?2.????doCoolThings();?3.}?數(shù)組和字典類型的字面值的方括號(hào)兩邊各放置一個(gè)空格。1.NSArray?*theShit?=?@[?@1,?@2,?@3?];?字典字面值的鍵和冒號(hào)之間沒有空格,冒號(hào)和值之間有一個(gè)空格。1.NSDic
3、tionary?*keyedShit?=?@{?GHDidCreateStyleGuide:?@YES?};?C函數(shù)聲明中,左括號(hào)的前面不保留空格,并且函數(shù)名應(yīng)該像類一樣帶有命名空間標(biāo)識(shí)。良好的風(fēng)格:1.void?RNCwesomeFunction(BOOL?hasSomeArgs);?長的字面值應(yīng)被拆分為多行。良好的風(fēng)格:1.NSArray?*theShit?=?@[?2.????@"Got?some?long?string?objects?in?here.",?3.????[AndSomeModelObjects?too],?4.????@"Moar?strings."?5.];?6.
4、NSDictionary?*keyedShit?=?@{?7.????@"this.key":?@"corresponds?to?this?value",?8.????@"otherKey":?@"remoteData.payload",?9.????@"some":?@"more",?10.????@"JSON":?@"keys",?11.????@"and":?@"stuff",?12.};?每一行代碼使用4個(gè)空格縮進(jìn)。不使用tab縮進(jìn)。下圖是在Xcode的Preferences進(jìn)行縮進(jìn)設(shè)置的截圖。網(wǎng)址:edu.51CTO.com方法簽名以及其他關(guān)鍵字(if/else/switch/w
5、hile等)后面跟隨的左花括號(hào)總是和語句出現(xiàn)于同一行,而右花括號(hào)獨(dú)占一行。良好的風(fēng)格:1.if?(user.isHappy)?{?2.//Do?something?3.}?4.else?{?5.//Do?something?else?6.}?如果一個(gè)方法內(nèi)有多個(gè)功能區(qū)域,可以使用空行分隔功能區(qū)域。每一行代碼不要超過100個(gè)字符。每一個(gè)方法之前都有一個(gè)99字符寬的注釋行,注釋行相對(duì)于使用空行更能提高代碼的辨識(shí)度,當(dāng)一行代碼很長的時(shí)候,注釋行也起到了越界檢測(cè)的作用。注釋行:////////////////////////////////////////////////////下頁內(nèi)容更精彩條件
6、語句所有的邏輯塊必須使用花括號(hào)包圍,即使條件體只需編寫一行代碼也必須使用花括號(hào)。網(wǎng)址:edu.51CTO.com良好的風(fēng)格做法:1.if?(!error)?{?2.????return?success;?3.}?不良的風(fēng)格:1.if?(!error)?2.????return?success;?或:1.if?(!error)?return?success;?三元運(yùn)算符長的三元運(yùn)算符應(yīng)使用圓括號(hào)括起來。三元運(yùn)算符僅用于賦值和做參數(shù)。1.Blah?*a?=?(stuff?==?thing???foo?:?bar);?合并的nil三元運(yùn)算符應(yīng)該盡量避免。不良的風(fēng)格:1.Blah?*b?=?thi
7、ngThatCouldBeNil??:?defaultValue;?多分支條件應(yīng)該使用if語句或重構(gòu)為實(shí)例變量。良好的風(fēng)格:result=a>b?x:y;不良的風(fēng)格:result=a>b?x=c>d?c:d:y;異常和錯(cuò)誤處理不要在流控制語句中使用異常(NSException)。異常僅用于表明程序員的錯(cuò)誤。為了表明一個(gè)錯(cuò)誤,使用NSError*。網(wǎng)址:edu.51CTO.com當(dāng)一個(gè)方法通過引用返回一個(gè)錯(cuò)誤參數(shù),應(yīng)該檢測(cè)