前言
創(chuàng)新互聯(lián)專注于尚志網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供尚志營銷型網(wǎng)站建設(shè),尚志網(wǎng)站制作、尚志網(wǎng)頁設(shè)計、尚志網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造尚志網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供尚志網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
遵守規(guī)范也是讓代碼更清晰明了,易讀,易用,易維護,可以更好的適應(yīng)團隊開發(fā)。自己看著也是賞心悅目,何樂而不為呢。下面話不多說了,來一起看看詳細的介紹吧。
一、關(guān)于本文檔
1、本文檔的書寫目的
《iOS項目的命名規(guī)范》的書寫目的,在于讓后續(xù)參加到該項目的iOS開發(fā)人員通過閱讀該文檔,了解在當前iOS項目的代碼中的命名要求并嚴格按照本文檔執(zhí)行,以便保證代碼的更好閱讀與維護。
2、本文檔的使用范圍
《iOS項目的命名規(guī)范》在iOS項目中被強制要求執(zhí)行。將本文中的WSF或者wsf替換成代表項目的前綴(請用三個大寫字母),即可用于其他iOS項目。
3、本文檔的更新負責人
《iOS項目的命名規(guī)范》由本ID和同事共同協(xié)商討論制定,由本ID負責編輯、修改和后續(xù)的版本更新。
二、目錄結(jié)構(gòu)
三、新建【業(yè)務(wù)模塊文件夾】
1、文件夾的名稱需要體現(xiàn)該模塊的功能概括。
比如:支付系統(tǒng)、訂單
2、二級文件夾根據(jù)編程設(shè)計模式分類命名,需要從下面詞語中取詞:
ViewModel、Model、View、ViewController、其他
四、新建【子類】
1、類名
(1)遵循大駝峰命名法。
(2)WSF+模塊概括名+功能分區(qū)名+父類的慣用后綴。比如:WSFOrderListVC
(3)為了整個項目代碼的整潔與統(tǒng)一,建議使用List、Detail、Message、TView、Cell、VC、TVC、VM等字樣。
(4)模塊概括名一定要是統(tǒng)一的、明確的、唯一的代表模塊名稱。
(5)父類的慣用后綴的意思是:如果要從其他框架繼承子類,那么必須遵循其命名慣例。比如,繼承UIView的子類名稱必須以View結(jié)尾。
2、屬性名
(1)遵循小駝峰命名法、避免縮寫。
(2)后綴體現(xiàn)屬性的數(shù)據(jù)類型。比如:orderPriceLabel、orderLimitsArray。
(3)使用長的、描述性的命名方向。比如settingButton而不是setBtn。
(4)要求NSString *nameString; 而不是NSString* nameString; 或者NSString * nameString;。
3、屬性定義
(1)定義屬性的參數(shù)順序排序:原子性、讀寫、內(nèi)存管理。比如:@property (nonatomic, readwrite, copy) NSString *nameString;
(2)BOOL類型的屬性,需要為其getter方法帶is前綴。getter方法放在內(nèi)存管理限定符前面,比如:@property (nonatomic, readonly, getter=isEditable, assign) BOOL editable;
4、實例變量名
(3)下劃線開頭
(2)遵循小駝峰命名法、避免縮寫。
(3)后綴體現(xiàn)屬性的數(shù)據(jù)類型。比如:_orderPriceLabel、_orderLimitsArray。
5、公有方法名
(1)遵循小駝峰命名法、避免縮寫。
(2)不要使用“and”這個詞,它不應(yīng)該用來闡明有多個參數(shù)。
6、私有方法名
(1)遵循小駝峰命名法、避免縮寫。
(2)直接父類是Cocoa框架:p_開頭。
(3)直接父類是其他框架:以自己一貫的前綴(小寫)+下劃線開頭或者wsf_。比如:abc_、wsf_。
7、純C函數(shù)
(1)遵循小駝峰命名法、避免縮寫。
(2)加上WSF為前綴。
8、全局變量
.h文件
extern NSTimeInterval WSFPersonModelAnimationDuration; extern NSString *WSFPersonModelErrorMessage;
.m文件
NSTimeInterval WSFPersonModelAnimationDuration = 0.3; NSString *WSFPersonModelErrorMessage = @“ErrorMessage”;
(1)遵循大駝峰命名法、避免縮寫。
9、枚舉名
(1)遵循大駝峰命名法、避免縮寫。
(2)使用OC的枚舉方式。
(3)枚舉對象名:WSF+枚舉范圍概括名+Type。比如:WSFAlipayResultCodeType
(4)枚舉種類名:WSF+枚舉范圍概括名+Type_某種情況名。比如:WSFAlipayResultCodeType_success。
10、協(xié)議名
(1)遵循大駝峰命名法、避免縮寫。
(2)代理協(xié)議:類名+Delegate。比如:WSFOrderListChangedDelegate。
(3)數(shù)據(jù)源協(xié)議:類名+DataSource。比如:WSFOrderListDataSource。
(4)普通協(xié)議:類名+Protocol。比如:WSFOrderListVCProtocol。
五、新建【分類】
1、分類名
(1)類名+標識前綴+擴展標識。
(2)遵循大駝峰命名法、避免縮寫。
(3)WSF或者自己一貫使用前綴(大寫)+下劃線為前綴。比如:NSString (WSF_HTTPManager)、NSString(ABC_HTTPManager)。
2、方法名
(1)遵循小駝峰命名法、避免縮寫。
(2)wsf或者自己一貫使用前綴(小寫)+下劃線為前綴。比如:- (void)wsf_urlEncodedString;、- (void)abc_urlEncodedString;
六、新建【協(xié)議】
1、協(xié)議名
(1)遵循大駝峰命名法、避免縮寫。
2、方法名
(1)遵循小駝峰命名法、避免縮寫。
(2)如果是代理協(xié)議,以發(fā)送代理的對象類名作為代理方法名的開始(去掉類名的前綴,并且遵循小駝峰命名法)。
七、新建【第三方庫的封裝】
(1)手動管理:比如使用MJRefresh框架,需要將它的類名全部加前綴以避免命名空間沖突。比如:命名為WSFMJRefresh。
(2)pod管理:不需要特殊處理。
八、新建【常量】
1、私有常量
.m文件
static const NSTimeInterval kAnimationDuration = 0.3; static NSString *const kErrorMessage = @“ErrorMessage”;
2、公開常量
.h文件
extern const NSTimeInterval WSFPersonModelAnimationDuration; extern NSString *const WSFPersonModelErrorMessage;
.m文件
const NSTimeInterval WSFPersonModelAnimationDuration = 0.3; NSString *const WSFPersonModelErrorMessage = @“ErrorMessage”;
說明:
(1)遵循小駝峰命名法、避免縮寫。
(2)在聲明公開常量時,也可以使用FOUNDATION_EXPORT替換extern。
3、常量名稱的常用命名方法:若常量局限于某“編譯單元”,也就是“實現(xiàn)文件”之內(nèi),則在前面加字母k;若常量在類之外可見,則通常以WSF+類名為前綴。
九、新建【通知】
1、按照公共常量方法處理。
2、以Notification為后綴。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。
網(wǎng)站標題:iOS項目的開發(fā)命名規(guī)范教程
轉(zhuǎn)載源于:http://www.chinadenli.net/article38/jigspp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計、微信小程序、網(wǎng)站營銷、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)