国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

iOS項(xiàng)目的開發(fā)命名規(guī)范教程

2020-07-26 02:36:56
字體:
供稿:網(wǎng)友

前言

遵守規(guī)范也是讓代碼更清晰明了,易讀,易用,易維護(hù),可以更好的適應(yīng)團(tuán)隊(duì)開發(fā)。自己看著也是賞心悅目,何樂而不為呢。下面話不多說了,來一起看看詳細(xì)的介紹吧。

一、關(guān)于本文檔

1、本文檔的書寫目的

    《iOS項(xiàng)目的命名規(guī)范》的書寫目的,在于讓后續(xù)參加到該項(xiàng)目的iOS開發(fā)人員通過閱讀該文檔,了解在當(dāng)前iOS項(xiàng)目的代碼中的命名要求并嚴(yán)格按照本文檔執(zhí)行,以便保證代碼的更好閱讀與維護(hù)。

2、本文檔的使用范圍

   《iOS項(xiàng)目的命名規(guī)范》在iOS項(xiàng)目中被強(qiáng)制要求執(zhí)行。將本文中的WSF或者wsf替換成代表項(xiàng)目的前綴(請(qǐng)用三個(gè)大寫字母),即可用于其他iOS項(xiàng)目。

3、本文檔的更新負(fù)責(zé)人

    《iOS項(xiàng)目的命名規(guī)范》由本ID和同事共同協(xié)商討論制定,由本ID負(fù)責(zé)編輯、修改和后續(xù)的版本更新。

二、目錄結(jié)構(gòu)

三、新建【業(yè)務(wù)模塊文件夾】

1、文件夾的名稱需要體現(xiàn)該模塊的功能概括。

比如:支付系統(tǒng)、訂單

2、二級(jí)文件夾根據(jù)編程設(shè)計(jì)模式分類命名,需要從下面詞語中取詞:

ViewModel、Model、View、ViewController、其他

四、新建【子類】

1、類名

(1)遵循大駝峰命名法。

(2)WSF+模塊概括名+功能分區(qū)名+父類的慣用后綴。比如:WSFOrderListVC

(3)為了整個(gè)項(xiàng)目代碼的整潔與統(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)使用長(zhǎng)的、描述性的命名方向。比如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、實(shí)例變量名

(3)下劃線開頭

(2)遵循小駝峰命名法、避免縮寫。

(3)后綴體現(xiàn)屬性的數(shù)據(jù)類型。比如:_orderPriceLabel、_orderLimitsArray。

5、公有方法名

(1)遵循小駝峰命名法、避免縮寫。

(2)不要使用“and”這個(gè)詞,它不應(yīng)該用來闡明有多個(gè)參數(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)枚舉對(duì)象名: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)類名+標(biāo)識(shí)前綴+擴(kuò)展標(biāo)識(shí)。

(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ā)送代理的對(duì)象類名作為代理方法名的開始(去掉類名的前綴,并且遵循小駝峰命名法)。

七、新建【第三方庫(kù)的封裝】

(1)手動(dòng)管理:比如使用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)在聲明公開常量時(shí),也可以使用FOUNDATION_EXPORT替換extern。

3、常量名稱的常用命名方法:若常量局限于某“編譯單元”,也就是“實(shí)現(xiàn)文件”之內(nèi),則在前面加字母k;若常量在類之外可見,則通常以WSF+類名為前綴。

九、新建【通知】

1、按照公共常量方法處理。

2、以Notification為后綴。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)武林網(wǎng)的支持。  

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 高平市| 内黄县| 巴彦淖尔市| 中江县| 镇巴县| 高雄市| 龙陵县| 双江| 霍邱县| 额尔古纳市| 青冈县| 庆阳市| 玉树县| 秭归县| 弥勒县| 东丰县| 肥东县| 洛浦县| 武安市| 墨玉县| 荆门市| 松滋市| 淳安县| 买车| 阿克陶县| 措勤县| 壤塘县| 安徽省| 寿宁县| 枝江市| 临高县| 永昌县| 门源| 和顺县| 湛江市| 南昌县| 定边县| 嵩明县| 长春市| 玛沁县| 锡林郭勒盟|