Android開發之專案命名規則
- 命名規範
先介紹兩種命名規則:
駝峰命名法:又稱小駝峰命名法。除了首個單詞首字母小寫除外,其餘所有單詞所有首字母都要大寫。
帕斯卡命名法:又稱大駝峰命名法。所有單詞首字母大寫。
- 包的命名規範
包名一律小寫
建議採用如下規則:【com】.【公司名/組織名】.【專案名稱】.【模組名】
比如:com.jacksen.mvp.demo。然後在這個目錄下根據業務邏輯進行分層。
常見的包分層結構如下:
com.xxx.xxx.view –> 自定義view 或者是View介面
com.xxx.xxx.activities –> activity類
com.xxx.xxx.fragments –> fragment類
com.xxx.xxx.adapter –> 介面卡相關
com.xxx.xxx.utils –> 公共工具類
com.xxx.xxx.bean –> 實體類
com.xxx.xxx.service –> service服務
com.xxx.xxx.broadcast –> 廣播接收器
com.xxx.xxx.db –> 資料庫操作類
com.xxx.xxx.persenter –> 中間物件
com.xxx.xxx.model –>
類的命名規範
Android中類的命名與JAVA開發採用一致的規範即可。
大駝峰命名法,即所有單詞首字母大寫。
Activity –> xxxActivity.java
Application –> xxxApplication.java
Fragment –> xxxFragment.java
Service –> xxxService.java
BroadcastReceiver –> xxxBroReceiver.java
ContentProvider –> xxxProvider.java
Adapter –> xxxAdapter.java
Handler –> xxxHandler.java
介面 –> xxxInter.java
介面實現類 –> xxxImpl.java
Persenter –> xxxPersenter.java
公共父類 –> BaseActivity.java、BaseFragment.java、- BaseAdapter.java等
util類 –> LogUtil.java
資料庫類 –> BaseSQLiteDBHelper.java
變數的命名規範
採用駝峰命名規則。
Java普通變數:
resultString
userBean
loginPresenter
Android控制元件變數:
loginBtn
inputPwdEt
showNameTv
有些人建議採用【控制元件縮寫】+【控制元件邏輯名稱】的方式,比如btnLogin。不過我個人比較習慣反過來寫,比如loginBtn。與類的命名類似,把邏輯名稱寫在前面。
常用控制元件的縮寫
控制元件 佈局檔案中縮寫 程式碼中縮寫
LinearLayout xxx_layout xxxLLayout
RelativeLayout xxx_layout xxxRLayout
FrameLayout xxx_layout xxxFLayout
TextView xxx_tv xxxTv
EditText xxx_et xxxEt
Button xxx_btn xxxBtn
ImageView xxx_iv xxxIv
CheckBox xxx_chk xxxChk
RadioButton xxx_rbtn xxxRbtn
ProgressBar xxx_pbar xxxPbar
ListView xxx_lv xxxLv
WebView xxx_wv xxxWv
GridView xxx_gv xxxGv
常見單詞的縮寫:
單詞 縮寫
icon ic
background bg
foreground fg
initial init
information info
success succ
failure fail
error err
image img
library lib
message msg
password pwd
length len
buffer buf
position pos
常量命名:
全部單詞采用大寫,每個單詞之間用“_”分割。
例如:
public static final String API_URL = "http://apis.baidu.com/heweather/weather/free";
方法的命名規範
與java開發類似,採用駝峰命名規則。首單詞首字母小寫,其餘單詞首字母大寫。儘量不要使用下劃線。
舉例:
setxxx()
getxxx()
loginxxx()
onCreate()
onDestory()
isxxx() –> 返回值是boolean型別
checkxxx()
Res包的命名規範
全部採用小寫,單詞之間使用下劃線分割。
佈局檔案:
activity_login.xml
fragment_first_tab.xml
item_choose_city.xml
dialog_choose_city.xml
common_footer.xml
popup_xxx.xml
控制元件ID:
上面【常用控制元件的縮寫】表格中基本列出了常用控制元件的ID寫法。
login_btn
input_phone_et
input_pwd_et
login_pbar
drawable目錄下的命名規範
全部單詞小寫,單詞之間採用下劃線分割。
圖示 – > ic_xxx.png –> ic_logo.png
背景圖 –> bg_xxx.jpg –> bg_splash.jpg
selector –> selector_login_btn.xml
shape –> shape_login_btn.xml
圖片狀態 –> bg_login_btn_pressed.jpg & - bg_login_btn_unpressed.jpg
anim目錄下的命名規範
單詞全部小寫,單詞之間採用下劃線分割。
fade_in.xml
fade_out.xml
slide_in_from_left.xml
slide_in_from_top.xml
slide_out_to_right.xml
slide_out_to_bottom.xml
編碼規範
程式碼中儘量不要出現中文。註釋和除外。程式碼中通過strings.xml引用來顯示中文。
控制元件宣告放在activity級別,這樣在activity其他地方可以使用。
在一個View.OnClickListener中處理所有的點選事件邏輯,這樣看起來很集中和直觀。
strings.xml中使用%1ssd等實現字串的通配。
佈局檔案中的字型大小,都定義在dimens.xml中。
有關margin和padding的值也都放在dimens.xml中。
介面之間傳值儘量使用intent方式。少用全域性變數。
不建議在佈局檔案中新增點選事件。
資料型別轉換一定要校驗。
使用常量代替列舉。
實體不要在不同模組間共享,但是可以在統一模組下的不同頁面共享。
建議採用左括號與方法名稱在同一行的程式碼格式來進行程式碼的編寫和格式化。貌似左括號在下一行是C#的形式。
業務稍微複雜一些,都有可能提煉一個BaseActivity或BaseFragment出來做為公共父類。
類註釋一定要寫,管家的方法也要寫方法註釋。常量儘量寫註釋。
專案中的命名規範和編碼規範,是一個專案Leader前期需要準備的,也是一項必備技能。
制定好了規範,就要遵守,有了統一的規範,專案才好維護,相互之間才好review程式碼,便於開發與維護。