Android-項(xiàng)目代碼規(guī)范

前言

為增加開(kāi)發(fā)過(guò)程代碼的強(qiáng)壯性、可讀性、易維護(hù)性,減少有經(jīng)驗(yàn)和無(wú)經(jīng)驗(yàn)的開(kāi)發(fā)人員編程所需的腦力工作,在項(xiàng)目范圍內(nèi)統(tǒng)一代碼風(fēng)格是為軟件的良好維護(hù)性打下好的基礎(chǔ)。通過(guò)人為以及自動(dòng)的方式對(duì)編程時(shí)有一致格式可遵循,每個(gè)編程人員編寫的代碼能夠被其他人理解,使新的開(kāi)發(fā)人員快速適應(yīng)項(xiàng)目氛圍是規(guī)范代碼的必要性。

1.項(xiàng)目命名規(guī)則

首先,指出Android Studio中的兩個(gè)概念。 ProjectModule,在Android Studio中, Project 的真實(shí)含義是工作空間, Module 為一個(gè)具體的項(xiàng)目,所以項(xiàng)目命名其實(shí)是給Module命名,而Module又分為兩種;一種是Library Module,另一種是Application Module。

為區(qū)分兩種Module:

Application Module 命名以 app_Xxx 的方式;
Library Module  命名以 library_Xxx 的方式;

2.包命名規(guī)則

包命名能快速指引開(kāi)發(fā)人員尋找需要找尋的類位置,所以命名規(guī)范也就能提高開(kāi)發(fā)工作的效率;
一般包命名以com開(kāi)頭,第二個(gè)以代表本公司的字母或者單詞,第三個(gè)是項(xiàng)目名或者是終端類型,這是一個(gè)固定的開(kāi)頭命名,然后往下細(xì)分就是功能模塊的包命名,都以小寫字母;

可參考如下圖;com.space.app.power
1.PNG

3.類命名規(guī)則

類命名規(guī)則需要直觀易懂,從命名就能大致理解其作用,提高工程結(jié)構(gòu)的可讀性;
類命名首字母應(yīng)大寫,如果由多個(gè)單詞組成,那么每個(gè)單詞的首字母需要大寫,其他字母小寫,結(jié)尾應(yīng)當(dāng)有體現(xiàn)該類的大致功能作用單詞描述;


1.PNG
描述 示例
Activity 類 Aty或者Activity為后綴標(biāo)識(shí) WelcomeAty或WelcomeActivity
Adapter類 Adp或者Adapte 為后綴標(biāo)識(shí) NewtDetailAdp或NewdetailAdapter
Service類 以Service為后綴標(biāo)識(shí) TimeService
Utils類 以Utils為后綴標(biāo)識(shí) TimeUtils
BroadcastReceive類 以Broadcast為后綴標(biāo)識(shí) TimeBroadcast
ContentProvider 以Provider為后綴標(biāo)識(shí) TimeProvider
公共方法類 Tools或Manager為后綴標(biāo)識(shí) LogTools
共享基礎(chǔ)類 以Base開(kāi)頭 BaseActivity,BaseFragment

4.變量命名規(guī)則

  • 變量命名采用駝峰命名法規(guī)則,及第一個(gè)字母小寫,后面單詞首字母大寫;
  • 非公共的、非靜態(tài)的域、非布局控件變量用m前綴;
  • 靜態(tài)域變量用s前綴;
  • 集合類型的變量使用復(fù)數(shù)形式,若多種集合類型的變量存儲(chǔ)的是相同類型的對(duì)象,除了根據(jù)功能區(qū)分,也可以簡(jiǎn)單通過(guò)集合類型來(lái)區(qū)分;
  • 常用View控件應(yīng)當(dāng)帶有描述空間的單詞或者縮寫;

5.布局文件命名規(guī)則

name是模塊的名稱或功能的描述,單詞必須全部小寫,單詞之間用下劃線隔開(kāi)

類型 模板 示例
Acivity activity_name.xml activity_main.xml
Tab tab_name.xml tab_home.xml
Dialog dialog_name.xml dialog_login.xml
Item item_name.xml item_contact.xml
Fragment fragment_name.xml fragment_map.xml

6.ID命名規(guī)則

組成名稱的單詞必須全部小寫,單詞之間用下劃線隔開(kāi),名稱不需要復(fù)雜的層級(jí)定位,只需要準(zhǔn)確描述所代表控件的功能作用即可,名稱前使用控件類型的縮寫前綴來(lái)避免重復(fù)起名的麻煩。

類型 模板 示例
TestView @+id/tv_name @+id/tv_title
EditText @+id/et_name @+id/et_mail
RelativeLayout @+id/rl_name @+id/rl_login
LinearLayout @+id/ll_name @+id/ll_login

7.控件類型縮寫對(duì)應(yīng)表

控件類型 源文件中縮寫 資源文件中縮寫
View V v
Button Btn btn
ImageButton Ib ib
RadioButton Rb rb
CheckBox Cb cb
TextView Tv tv
EditText Et et
ImageView Iv iv
ListView Lv lv
ProgressBar Pbar pbar
ScrollView Sv sv
RelativeLayout Rlyt rlyt
LinearLayout Llyt llyt
TableLayout Tlyt tlyt
FrameLayout Flyt flyt

8.圖片的命名

Name是模塊的名稱或者功能描述
圖片名稱一般由模塊名稱/功能描述 + 后綴組成,后綴是可選的

前綴 描述 示例
ic_ 圖標(biāo) ic_launcher.png
bg_ 背景 bg_title.png
sl_ 狀態(tài)圖片 sl_button.png
后綴 描述 示例
無(wú) 普通狀態(tài) login.png
_p 按下?tīng)顟B(tài) longin_p.png
_c 選中狀態(tài) login_c.png
_d 不可用狀態(tài) login_d.png

9.常見(jiàn)的英文單詞縮寫

名稱 縮寫 說(shuō)明
Icon ic 主要用在APP圖標(biāo)
Color cl 主要用于顏色
Divider di 主要用于分割線
Selector sl 主要用于某view多狀態(tài)
Average avg
Backcground bg 主要用于布局的背景
Buffer buf
Conntrol ctrl
delete del
Error err
Image img
Length len
Message msg
Password pwd
String str
Temp tmp

10.其他資源命名

遵循見(jiàn)名知意的原則,組成名稱的單詞必須全部小寫,單詞之間用下劃線隔開(kāi)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容