iOS開發(fā)規(guī)范文檔_第1頁
iOS開發(fā)規(guī)范文檔_第2頁
iOS開發(fā)規(guī)范文檔_第3頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

iOS開發(fā)規(guī)范iOS開發(fā)規(guī)范命名本文推薦駝峰法,也是Objective-C社區(qū)的標準。峰法相比小駝峰法,大駝峰法把第一個單詞的首字母也大寫了。類命名類名(詞來說明這個類(或者類的對象)是做什么的。(型如JKPhotoBrowser。示例1:@interfaceImageBrowseView:UIView@end示例2:(帶前綴JK)@interfaceJKPhotoBrowser@end類別命名類名+標識+擴展(UIImageView+HP+Web)例:如果我們想要創(chuàng)建一個基于UIImageView的類別用于網絡請求圖片,我們應該把類別放到名字是UIImageView+HPWeb.h的文件里。UIImageView為要擴展的類名,HP為專屬標識,Web為擴展的功能。類別的方法應該都使用一個前綴(型如hp_myCategoryMethodOnAString),以防止Objective-C代碼在單名空間里沖突。如果代碼本來就不考慮共享或在不同的地址空間(address-space),方法命名規(guī)則就沒必要恪守了。類別HPWeb頭文件,UIImageView+HPWeb.h@interfaceUIImageView(HPWeb)(void)hp_setImageWithURLString:(NSString*)urlStr;@end方法命名方法使用小駝峰法命名,一個規(guī)范的方法讀起來應該像一句完整的話,讀過之后便知函數的作用。執(zhí)行性的方法應該以動詞開頭,小寫字母開頭,返回性的方法應該以返回的內容開頭,但之前不要加get。示例:(void)replaceObjectAtIndex:(NSUInteger)indexwithObject:(id)anObject;(instancetype)arrayWithArray:(NSArray*)array;如果有參數,函數名應該作為第一個參數的提示信息,若有多個參數,在參數前也應該有提示信息(一般不必加and)一些經典的操作應該使用約定的動詞,如initWith,insert,remove,replace,add等等。變量命名變量名使用小駝峰法,使變量名盡量可以推測其用途屬性具有描述性。別一心想著少打幾個字母,讓你的代碼可以迅速被理解更加重要。類成員變量:@synthesize供了遵守命名規(guī)范的解決方法示例:@interfaceViewController()@property(nonatomic,strong)NSMutableArray @property(nonatomic,strong)UITableView *tableView;@end@implementationViewController@end示例:NSMutableArray *ticketsArray=[NSMutableArrayarrayWithCapacity:0];NSIntegernumCompletedConnections=3;常量命名常量(預定義,枚舉,局部常量等)使用小寫k開頭的駝峰法,比如kInvalidHandle,kWritePerm示例:#definekRunAnnotationStartPointTitle 起點typedefNS_ENUM(NSInteger,RunGoalTypeE){kRunGoalTypeNone =0, //無目標kRunGoalTypeTime =1, //以時間為目標kRunGoalTypeDistance =2, //以距離為目標kRunGoalTypeCalori =3, //以消耗卡路里為目};NSString*constkGroupInfoName=@"name";圖片資源文件命名先看下新浪微博app圖片資源命名方式,下面是部分截圖:這個圖片資源命名方式,以功能為組織形式,是一個很好的習慣,有利于查看資源文件。原則:比如:nav,bg,btn等)“+”命名法,模塊分為公共模塊、私有模塊。公共模塊主要包括統(tǒng)一的背景,導航條,標簽,公共的按鈕背景,公共的默認圖等等;私有模塊主要根據app功能模塊劃分,比如用戶中心,消息中心等備注:建議背景圖采用以bg作前綴,按鈕背景采用btn作前綴(負責人根據團隊特點確定即可)公共模塊命名示例:導航條背影圖片:導航返回按鈕: ,標簽item背景: ,私有模塊命名示例:JoggersAPPuc——usercenter用戶中心頭像默認圖:用戶中心底部背景圖:這部分工作較為繁雜,并且在程序員心中會認為是技術含量較低的一個工作,但圖片命名的嚴謹性同樣會反映出我們對細節(jié)的追求,細節(jié)決定成敗。文件組織結構類文件組織iOS效地管理類文件。類文件組織要遵循以下兩大原則:基于MVC設計模式原則,至少要保證controller與數據處理,網絡請求相對獨立/網絡處理應/網絡處理的框架下,而UI前端界面比如用戶中心,消息中心,它們的專有的controller,view等應該在屬于文件夾。還會遇到一些公共的view夾來管理保持良好的類文件組織結構,對團隊有益無害。圖片資源文件組織圖片資源文件,強烈建議采用Images.xcassets管理,盡量少用自己創(chuàng)建的文件夾管理。Images.xcassets一點,在Images.xcassets中添加圖片資源,不會對project文件造成改變,而直接在文件夾里添加圖片文件,每次都會對project文件造成改變,因此使用Images.xcassets管理圖片資源可以減少project沖突的次數。下圖是Joggers的文件組織結構:上圖嚴格按照上述討論組織文件結構,保持了物理/邏輯結構的統(tǒng)一,方便團隊間查閱代碼,以及共享資源。類代碼組織原則-(void)dealloc方便看到是否remove的生命周期函/#pragmamark-來標記,以便查看。示例:@傅總團隊要求iOS代碼規(guī)范刪除多余的空行1行1行刪除多余的注釋刪除注釋掉的代碼刪除沒有意義的注釋刪除多余的方法如果方法沒有使用到,請刪除它如果方法沒有執(zhí)行任何業(yè)務邏輯,請刪除它或者給出一定注釋刪除未被使用的資源文件添加必要的注釋所有.h 文件中的property需要給出注釋所有自定義的方法需要給出注釋比較大的代碼塊需要給出注釋所有代碼中出現(xiàn)的阿拉伯數字需要給出注釋程序中出現(xiàn)加密/解密邏輯的操作地方,需要給出注釋說明過程(自定義)整體代碼風格需要統(tǒng)一代碼后面的”{“不需要單獨占用一行邏輯運算符與代碼之前空一格*“#pragmamark-”與下面的代碼之前不要空行*遵循一般性的代碼規(guī)范iOS通用規(guī)則1下面所有規(guī)則對第三方類庫無約束所有類、方法、屬性等命名,做到見名知意,采用駝峰式命名規(guī)則根據資源類型或者所屬業(yè)務邏輯對項目資源進行分組,使得整個項目結構清晰明了整個項目保持一種代碼書寫風格(這個風格由無錫團隊根據自己編碼習慣來定),你的代碼變的優(yōu)雅!命名規(guī)范、“ZJG”、“SZ”UIViewController “ViewController”UIView“View”UIButton“Button"UILabel“Label"800行以內,每個方法最好不要超過100重構相同的邏輯方法定義避免在多個地方出現(xiàn),盡量將公用的類、方法抽取出來刪除未被使用的代碼,不要大片注釋未被使用的代碼,確定代碼不會使用,請及時刪除對其他項目中copy項目中所有Group或者文件名稱(圖片名字等),名,國內特有名詞可以使用拼音。項目中所有Group錄中文件一一對應。請在項目中寫必要代碼的注釋#pragmamarkMarkNameeg:#pragmamark-ViewlifeCycle#pragmamark-ViewlifeTerm#pragmamark-Initmethods#pragmamark-Actionmethods#pragmamark-Commonmethods#pragmamark-UIActionSheetDelegate#pragmamark-#pragmamark-UIImagePickerControllerDelegate#pragmamark-UITableViewDel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論