前言:
iOS開發(fā)過程中,代碼規(guī)范及項(xiàng)目目錄,是在開發(fā)中起到非常總要的作用的,好的代碼規(guī)范會(huì)對(duì)一個(gè)團(tuán)隊(duì)是非常重要的作用。方便維護(hù),利己,利人...。
好的項(xiàng)目結(jié)構(gòu),可以使業(yè)務(wù)層更加清晰等等諸多好處。
第一次:
2015年10月,我來(lái)到紅舞聯(lián)盟 經(jīng)過半年多的洗禮,我開始我人生中的第一次,去做整個(gè)項(xiàng)目的主導(dǎo)(就是當(dāng)個(gè)小組長(zhǎng)),我主要負(fù)責(zé)項(xiàng)目進(jìn)度,架構(gòu),調(diào)研等。
架構(gòu):
當(dāng)時(shí)主要考慮一下幾點(diǎn):
1.網(wǎng)絡(luò)API:
2.view層
3.數(shù)據(jù)本地持久化
4.動(dòng)態(tài)部署方案
網(wǎng)絡(luò)API:
網(wǎng)絡(luò)API :是考慮的離散型結(jié)構(gòu),一個(gè)義務(wù)對(duì)應(yīng)一個(gè)api。一個(gè)模塊有一個(gè)api的集合.

view層:
view 層是和義務(wù)掛鉤比教緊的層級(jí),這里一般會(huì)按功能分離
數(shù)據(jù)本地持久化:
使用sqlite+NSUserDefaults 根據(jù)不同數(shù)據(jù)量去存儲(chǔ)
動(dòng)態(tài)部署方案:
動(dòng)態(tài)打包提交測(cè)試:xcode_shell-master 是基于shell 的開源插件。
上線后:動(dòng)態(tài)修改線上出現(xiàn)的小問題這里用到的是JSPatch。
項(xiàng)目代碼編寫規(guī)范:
類名或者協(xié)議名:
1.類名
首字母大寫且大小寫混搭,跨應(yīng)用的還要加前綴類應(yīng)該包含一個(gè)名詞,表達(dá)類代表的事物或干的事情,一般加前綴,如系統(tǒng)的NSString, NSDate;自定義的控件MTTAlertView等
2.協(xié)議名
協(xié)議名參照它的文件名,如UIView-Hierarchy文件中的UIView(Hierarchy)命名
函數(shù)名:
1.全局的東西,也要帶前綴。前綴后的第一個(gè)字母大寫。后面大小寫混搭。如:MTTScreenHeight()
2.大部分名字以動(dòng)詞開頭描述函數(shù)的功效。如NSHighlightRect,NSDeallocateObject
3.當(dāng)返回值是取第一個(gè)參數(shù)的property時(shí),不用動(dòng)詞,如:unsigned int NSEventMaskFromType(NSEventType type) ,float NSHeight(NSRect aRect)
4.如果返回的值是用reference表示的,用”Get”,如:const char *NSGetSizeAndAlignment(const char *typePtr, unsigned int *sizep, unsigned int *alignp)
5.返回值是boolean的,如下面這樣的命名方式:BOOL NSDecimalIsNotANumber(const NSDecimal *decimal)
注釋編寫規(guī)范
類聲名:

函數(shù)聲明:
要求盡量每個(gè)暴露給外面的接口都編寫以下注釋

打個(gè)小廣告
本人目前在研究web前端開發(fā),買了一些視頻,篩選出講好的,自己在淘寶上出售:https://item.taobao.com/item.htm?id=540946716944(自己的淘寶店,請(qǐng)多多支持)