Java之命名規範

轉自:http://blog.csdn.net/crazy1235/article/details/51346027


無規矩不成方圓,是吧。。哈哈~~

很慶幸,本人剛學java編程的時候,就被老師灌輸了編程規範的相關知識,並且一直在遵守。

有過團隊開發經驗的人都知道,如果沒有一定的規範可行,那麼代碼看起來將是苦不堪言,甚至是亂七八糟。

下面就介紹一下,我個人編碼過程中使用到的規範,供大家參考~~


命名規範

命名規範要望文知義,簡單明瞭。
命名規範定製太多,就會讓人心煩,反而沒人遵守了。
                         ---《APP研發錄》

先介紹兩種命名規則:

  • 駝峯命名法:又稱小駝峯命名法。除了首個單詞首字母小寫除外,其餘所有單詞所有首字母都要大寫。

  • 帕斯卡命名法:又稱大駝峯命名法。所有單詞首字母大寫。


包的命名規範

包名一律小寫

建議採用如下規則:【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()


方法的命名規範

全部採用小寫,單詞之間使用下劃線分割。

佈局文件:

  • 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中使用%1sd等實現字符串的通配。

  • 佈局文件中的字體大小,都定義在dimens.xml中。

  • 有關margin和padding的值也都放在dimens.xml中。

  • 界面之間傳值儘量使用intent方式。少用全局變量。

  • 不建議在佈局文件中添加點擊事件。

  • 數據類型轉換一定要校驗。

  • 使用常量代替枚舉。

  • 實體不要在不同模塊間共享,但是可以在統一模塊下的不同頁面共享。

  • 建議採用左括號與方法名稱在同一行的代碼格式來進行代碼的編寫和格式化。貌似左括號在下一行是C#的形式。

  • 業務稍微複雜一些,都有可能提煉一個BaseActivity或BaseFragment出來做爲公共父類。

  • 類註釋一定要寫,管家的方法也要寫方法註釋。常量儘量寫註釋。


項目中的命名規範和編碼規範,是一個項目Leader前期需要準備的,也是一項必備技能。

制定好了規範,就要遵守,有了統一的規範,項目纔好維護,相互之間纔好review代碼,便於開發與維護。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章