架構(gòu)&分包 -- 原則
- 包名應(yīng)讓人一目知意:英文命名描述其功能荒辕。
- 分包層次應(yīng)盡可能的低汗销,減短包名長度。
- Model層(業(yè)務(wù)數(shù)據(jù)管理層兄纺,APP核心)大溜,View層(視圖層)應(yīng)該盡量分開,Model層單獨(dú)管理數(shù)據(jù)估脆, 不應(yīng)與其他的模塊耦合钦奋。
- 按照功能模塊進(jìn)行分包。如:MVP架構(gòu)模式下疙赠,可以按照Model付材,View,Presenter 分成三個(gè)大的模塊包圃阳,在三個(gè)大的模塊下在細(xì)分功能包厌衔。APP的一些基類或者說通用的技術(shù)打包成一個(gè)Moudule,作為技術(shù)沉淀捍岳,方便大家學(xué)習(xí)和其他APP使用富寿。如:JCourse中的common,同時(shí)建議在制作的通用技術(shù)module包足夠成熟時(shí)锣夹,打包成aar页徐,并上傳到meven,通過gradle遠(yuǎn)程依賴银萍。
命名規(guī)則
禁止拼音命名变勇,必須是英文有意義的單詞,簡單知意。
java文件
- java類名,接口名:駝峰法命名僚饭,單詞首字母全部大寫
- 成員變量名:m開頭 + 駝峰法命名
- 常量:全部字母大寫义郑,單詞之間用下劃線(_)連接
- activity和fragment:模塊包名 + activity/fragment + 功能名
xml文件
- 布局文件:模塊包名 _ activity/fragment _ 功能名
- 布局文件中變量:字母全部小寫,單詞之間用下劃線(_)連接,取名以功能和view相結(jié)合的方式
- 布局文件中控件的大小需要寫在資源文件里(dimens.xml),做好兼容性。
- menu:模塊包名 _ activity/fragment _ 功能名(和布局對(duì)應(yīng))
- style:駝峰法命名锣险,單詞首字母全部大寫
- color:分為兩部分(1):先以顏色色彩命名蹄皱,駝峰法,首字母小寫芯肤。
(2)根據(jù)具體功能重新生成一個(gè)<color/>
標(biāo)簽巷折,根據(jù)對(duì)應(yīng)的功能命名,并以color開頭崖咨,駝峰法锻拘。
drawable
類型_功能
- icon:ic _ 功能名
- menu中使用的icon:ic_menu_功能名
- 背景:bg_功能名
編碼
- 在自己負(fù)責(zé)的功能模塊下開發(fā)击蹲,如有新功能模塊署拟,建立新的分包。
- 在自己寫的每個(gè)文件寫好注釋和作者歌豺。
文案
- 寫完代碼后在README.md文件中寫好文件名及對(duì)應(yīng)的解釋推穷,作者。
如:MainActivity -> 主頁面 linlongxin类咧,方便后期查找馒铃,有問題更容易找到作者。
其他
開發(fā)中大部分情況下是多人團(tuán)隊(duì)合作痕惋,每個(gè)成員的編碼風(fēng)格經(jīng)過上面規(guī)則可以得到統(tǒng)一区宇,但是對(duì)于邏輯的處理,架構(gòu)的選擇(如:mvp值戳,mvc)也應(yīng)該統(tǒng)一议谷,在每次提交代碼后,應(yīng)該由技術(shù)團(tuán)隊(duì)技術(shù)當(dāng)擔(dān)來審核代碼的規(guī)范性堕虹。