java命名規(guī)范

1 命名規(guī)范

命名規(guī)則

大駝峰命名(UpperCamelCase):每個單詞的第一個字母大寫题画,其他字母小寫。

小駝峰命名(lowerCamelCase):如果僅有一個單詞苍息,那么所有字母全部小寫壹置,如果是兩個及以上的單詞組成的名稱表谊,那么除了第一個單詞是全部小寫外,其他但是的首字母大寫难咕,其他字母小寫距辆。

所有的命名都應(yīng)該以字母(A-Z或者a-z)、美元符($)或者下劃線(_)開始跨算;

首字符之后可以是字母(A-Z或者a-z)、美元符($)或者下劃線(_)或者數(shù)字的任何字符組合步势;

嚴(yán)禁使用關(guān)鍵詞命名背犯;

嚴(yán)禁使用拼音與英文的混合方式命名,更不允許使用中文的方式命名媳板;

命名盡量使用英文泉哈,除了通用的拼音(Beijing)可視為英文,其他的拼音都不是英文奕纫;

命名除了常見的英文縮寫烫沙,盡量避免使用縮寫匹层;

命名需要簡潔锌蓄,見名知意,通俗易懂您访;

1.1 包的命名

包的命名由全部小寫的單詞組成剪决。一般使用公司的域名的作為自己程序包的唯一前綴檀训,使用倒域名規(guī)則享言,例如:com.baidu.項目名,然后針對每個具體的模塊在區(qū)分每個模塊包名览露,例如:論壇模塊的整體包名:com.baidu.項目名.tribune肛循。

1.2 類的命名

類的命名遵循大駝峰命名的規(guī)則铭腕,常見類的命名規(guī)則如下:

類描述舉例

Activity類以Activity為后綴啟動頁面:LaunchActivity

Fragment類以Fragment為后綴論壇推薦列表:TribuneRecommendFragment

Adapter類以Adapter為后綴論壇適配器:TribuneAdapter

ViewHolder類以ViewHolder為后綴廣告類型:AdViewHolder

Bean類以Bean為后綴新聞實體類:NewsBean

Model類以Model為后綴論壇推薦Model:TribuneRecommendModel

工具類以Util為后綴網(wǎng)絡(luò)工具類:NetWorkUtil

Service類以Service為后綴音頻服務(wù):AudioService

BroadcastReceiver 類以Receiver為后綴音頻廣播:AudioReceiver

ContentProvider類以Provider為后綴聯(lián)系人的內(nèi)容提供者:ContactsProvider

Dialog類以Dialog為后綴加載:LoadingDialog

監(jiān)聽器類以Listener為后綴網(wǎng)絡(luò)監(jiān)聽:NetWorkListener

自定義基礎(chǔ)類以Base為前綴例如:BaseActivity累舷,BaseFragment

抽象類以 Abstract或者Abs為前綴例如:AbsBean

管理類以Manager為后綴聯(lián)系人管理類:ContactsManager

解析類以Parser為后綴新聞Json解析類: NewsJsonParser

1.3 接口的命名

接口命名遵循大駝峰命名的規(guī)則夹孔,以大寫的I開頭,表示這是一個接口搭伤,以able或ible截尾。

1.4 變量命名

變量的命名遵循小駝峰命名的規(guī)則身堡,其中控件的變量建議使用控件縮寫+邏輯名稱的格式拍鲤,例如:

private TextView tvUserName;。

其中布局中每個控件的id命名為控件縮寫_邏輯名稱,例如:tv_user_name擅这。

常見控件的縮寫如下:

控件縮寫控件縮寫

TextViewtvEditTextet

ButtonbtnImageViewiv

ListviewlvRecyclerViewrv

GridViewgvWebViewwv

LinearlayoutllRlativeLayoutrl

FrameLayoutflScrollViewsv

ProgressBarpbImageButtonib

CheckBoxcbRadioButtonrb

RadioGrouprgSeekBarsb

VideoViewvvSurfaceViewsv

1.5 常量的命名

常量名稱的每個單詞都大寫景鼠,并且每個單詞之間通過下劃線(_)連接,例如:

publicstaticfinalintREQUEST_KEY_CODE =1;

1.6 方法的命名

方法的命名遵循小駝峰命名的規(guī)則铛漓,以動詞+名詞的方式組成,例如初始化view:initView()逐哈。

1.7 資源文件命名

全部小寫问顷,并通過下劃線連接禀梳。

1.7.1 布局文件的命名

以對應(yīng)的類別名稱為前綴肠骆,然后緊跟模塊包名,最后是邏輯名稱蚀腿,他們之間通過下劃線連接。

常見的命名如下:

布局類型布局前綴舉例

Activityactivity_模塊名_求助主頁面:activity_sos_main

Fragmentfragment_模塊名_論壇推薦:fragment_tribune_recommend

列表itemitem_模塊名_論壇推薦:item_tribune_recommend

Dialogdialog_論壇詳情頁回復(fù):dialog_tribune_reply

Includeinclude_全局通用的標(biāo)題欄:include_global_title

1.7.2 動畫資源文件命名

動畫效果命名風(fēng)格

淡入/淡出fade_in/fade_out

從某個方向淡入/淡出fade_方向_in(out)

從某個方向彈入/彈出push_方向_in(out)

從某個方向滑入/滑出slide_方向_in(out)

1.7.3 value中name命名

1.7.3.1 strings.xml

命名格式:string_模塊名_邏輯功能廓脆,例如:啟動頁面的跳過:

name="string_launch_jump">跳過

1.7.3.2 colors.xml

命名格式:color_顏色值磁玉,其實顏色值是16進(jìn)制,例如:白色:

name="color_ffffff">#FFFFFF

1.7.3.3 styles.xml

遵循大駝峰命名的規(guī)則席赂,XXXStyle时迫,例如:LoadingStyle。

1.7.3.4 dimens.xml

文字:font_字號掠拳,字號單位是sp;

距離:space_距離值,距離單位是dp;

控件的寬高:具體控件width/height寬高值烧董,寬高值單位是dp胧奔。

代碼如下:

18sp16dp48dp24dp

2 格式規(guī)范

2.1大括號的使用

大括號的開始在代碼塊開始的行尾预吆,結(jié)束在代碼塊同一縮進(jìn)的行首;

條件語句一定使用大括號拐叉;

左大括號前不換行,右大括號前換行宿礁,除了if-else蔬芥,try-catch;

大括號內(nèi)沒有任何代碼控汉,不換行。

2.2 空格的使用

表示分隔時用一個空格返吻;

運算符兩邊用一個空格隔開;

逗號語句后面如果不換行街佑,也用一個空格捍靠。

3 注釋

3.1 類沐旨、接口注釋

使用多行注釋的方式榨婆,規(guī)則如下:

/**

* Author:開發(fā)人員姓名

* Email:開發(fā)人員郵箱

* Description:? 描述該類/接口實現(xiàn)的具體功能

* Date: 2017/4/20 14:16? 創(chuàng)建該類的時間

*/

3.2 方法注釋

3.2.1 整體方法注釋

使用多行注釋的方式纲辽,規(guī)則如下:

/*** 描述方法實現(xiàn)的功能*@params? 說明參數(shù)含義*@return說明返回值含義*/

3.2.2 方法內(nèi)部注釋

方法內(nèi)部單行注釋,在被注釋語句上方另起一行拖吼,使用“//”注釋。

方法內(nèi)部注釋篙议,使用/* ... */注釋怠硼。

注釋與代碼要對齊,*及// 與其后面的文字之間空一格香璃。

3.3 變量注釋

使用單行注釋的方式,使用“//”注釋姻乓,在變量后面天啊及眯牧,如果注釋太長,在變量上方添加学少。

3.4 xml注釋

<!--注釋內(nèi)容-->

以上,是我目前總結(jié)的常用的Android代碼規(guī)范扣囊,希望對大家有所幫助,以后會根據(jù)自己對代碼規(guī)范的要求提升繼續(xù)補(bǔ)充如暖!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盒至,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子枷遂,更是在濱河造成了極大的恐慌,老刑警劉巖矩桂,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痪伦,死亡現(xiàn)場離奇詭異,居然都是意外死亡癞蚕,警方通過查閱死者的電腦和手機(jī)辉哥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來恒水,“玉大人饲齐,你說我怎么就攤上這事钉凌∥嫒耍” “怎么了?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長论熙。 經(jīng)常有香客問我摄狱,道長无午,這世上最難降的妖魔是什么祝谚? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮次泽,結(jié)果婚禮上席爽,老公的妹妹穿的比我還像新娘意荤。我一直安慰自己只锻,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布捐寥。 她就那樣靜靜地躺著祖驱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪睡互。 梳的紋絲不亂的頭發(fā)上陵像,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機(jī)與錄音妻怎,去河邊找鬼泞歉。 笑死逼侦,一個胖子當(dāng)著我的面吹牛腰耙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播晰赞,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼然走!你這毒婦竟也來了戏挡?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤拆檬,失蹤者是張志新(化名)和其女友劉穎掌栅,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猾封,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了磷箕。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡芒填,死狀恐怖空繁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盛泡,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布凯砍,位于F島的核電站拴竹,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏栓拜。R本人自食惡果不足惜斑响,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一钳榨、第九天 我趴在偏房一處隱蔽的房頂上張望纽门。 院中可真熱鬧,春花似錦饼齿、人聲如沸蝙搔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至枉层,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間鸟蜡,已是汗流浹背挺邀。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留泣矛,地道東北人沦补。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像夕膀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子魂奥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355