代碼規(guī)范和團隊協(xié)作規(guī)章

好的開發(fā)習(xí)慣,可以幫助我們和團隊走的更遠

代碼規(guī)范

Java規(guī)范:

一掸掸、自定義標(biāo)識符

1、標(biāo)識符的細節(jié)

① 標(biāo)識符的組成元素是由字母(a-zA-Z)、數(shù)字(0-9) 扰付、下劃線(_)堤撵、美元符號($)

② 標(biāo)識符不能以數(shù)字開頭

③ 標(biāo)識符是嚴(yán)格區(qū)分大小寫的

④ 標(biāo)識符的長度是沒有長度限制的

⑤ 標(biāo)識符的命名一般要有意義(見名知意)

⑥ 關(guān)鍵字、保留字不能用于自定義的標(biāo)識符

2悯周、標(biāo)識符的規(guī)范

① 類名和接口名單詞的首字母大寫粒督,其他單詞小寫(SunTime)

② 變量名與方法名首單詞全部小寫,其他單詞首字母大寫禽翼,其他單詞都要小寫 [ doCook() ]

③ 包名全部單詞小寫

④ 常量全部單詞大寫屠橄,單詞與單詞之間使用下劃線分隔(UP_LENGTH)

3、判斷一下那些是符合的標(biāo)識符

① 12abc_ [不合法闰挡。數(shù)字不能開頭]

② _12abc [合法]

③ $ab12# [不合法锐墙。#號不屬于標(biāo)識符組成元素]

④ abc@123 [不合法。@號不屬于標(biāo)識符組成元素]

二长酗、注釋

1溪北、注釋的類別

第一種: 單行注釋 // 注釋的內(nèi)容

第二種: 多行注釋 /* 注釋的內(nèi)容 */

第三種: 文檔注釋 /** 注釋的內(nèi)容 */ 文檔注釋也是一個多行注釋

注意:單行注釋可以嵌套使用,多行注釋是不能嵌套使用的

2夺脾、多行注釋與文檔注釋的區(qū)別

多行注釋的內(nèi)容不能用于生成一個開發(fā)者文檔之拨,而文檔注釋的內(nèi)容可以生產(chǎn)一個開發(fā)者文檔。

3咧叭、使用javadoc開發(fā)工具即可生成一個開發(fā)者文檔

使用格式:javadoc -d 指定存放文檔的路徑 -version –author(可選) 目標(biāo)文件

注意細節(jié):

① 如果一個類需要使用javadoc工具生成一個軟件的開發(fā)者文檔蚀乔,那么該類必須使用public修飾

② 文檔注釋注釋的內(nèi)容一般都是位于類或者方法的上面的

③ @author 作者 @version 版本 @param 方法的參數(shù) @return 返回值

4、規(guī)范:一般單行注釋是位于代碼的右側(cè)菲茬,多行注釋與文檔注釋一般是寫在類或者方法的上面的吉挣。

Android規(guī)范

一: 開發(fā)注意事項

1:屬性,變量婉弹,方法睬魂,對象,駝峰式命名镀赌,根據(jù)用途定義名稱氯哮,優(yōu)先用英文,次則中文拼音商佛,不要出現(xiàn)數(shù)字填充命名
2:代碼要做到重用喉钢,復(fù)用,盡量不要寫重復(fù)的代碼
3:方法和對象要有注釋說明
4:項目需要國際化的威彰,其中涉及到中文的出牧,必須寫在配置文件中
5:項目代碼里面不要出現(xiàn)原生Log打印

二、Android 資源文件命名與使用

1. 【推薦】資源文件需帶模塊前綴歇盼。
2. 【推薦】layout 文件的命名方式舔痕。
Activity 的 layout 以 module_activity 開頭

Fragment 的 layout 以 module_fragment 開頭

Dialog 的 layout 以 module_dialog 開頭

include 的 layout 以 module_include 開頭

ListView 的行 layout 以 module_list_item 開頭

RecyclerView 的 item layout 以 module_recycle_item 開頭

GridView 的行 layout 以 module_grid_item 開頭
3. 【推薦】 drawable 資源名稱以小寫單詞+下劃線的方式命名,根據(jù)分辨率

不同存在不同的 mipmap目錄下,建議只使用一套伯复,例如 mipmap-xhdpi慨代。

采用規(guī)則如模塊名業(yè)務(wù)功能描述控件描述_控件狀態(tài)限定詞 如:module_login_btn_pressed,module_tabs_icon_home_normal

4. 【推薦】anim 資源名稱以小寫單詞+下劃線的方式命名,

采用以下規(guī)則: 模 塊名邏輯名稱[方向|序號]

tween 動畫資源 : 盡可能以通用的動畫名稱命名啸如,
如  module_fade_imodule_fade_out , module_push_down_in (動畫+方向)侍匙;

frame 動畫資源:盡可能以模 塊+功能命名+序號。如:module_loading_grey_0
5. 【推薦】 color 資源使用#AARRGGBB 格式

寫入 module_colors.xml叮雳,文件名格式采用以下規(guī)則: 模塊名邏輯名稱顏色 如: #33b5e5e5

6. 【推薦】dimen 資源以小寫單詞+下劃線方式命名

寫入module_dimens.xml 文件中采用以下規(guī)則: 模塊名_描述信息 如: 1dp

7. 【推薦】style 資源采用小寫單詞+下劃線方式命名

寫入module_styles.xml 文件中采用以下規(guī)則: 父 style 名稱.當(dāng)前 style 名如:

8. 【推薦】string資源文件或者文本用到字符需要全部寫入

module_strings.xml文件中字符串以小寫單詞+下劃線的方式命名想暗,采用以下規(guī)則: 模塊名_邏輯名稱 如:moudule_login_tips,module_homepage_notice_desc

9. 【推薦】Id 資源原則上以駝峰法命名

View 組件的資源 id 需要以 View 的縮寫作前綴。常用縮寫表如下: 控件 縮寫

LinearLayout ll

RelativeLayout rl

ConstraintLayout cl

ListView lv

ScollView sv

TextView tv

Button btn

ImageView iv

CheckBox cb

RadioButton rb

EditText et

二帘不、Android 資源文件命名與使用

其它控件的縮寫推薦使用小寫字母并用下劃線進行分割说莫,例如: ProgressBar 對應(yīng)的縮寫為 progress_bar DatePicker 對應(yīng)的縮寫為 date_picker

【推薦】大分辨率圖片(單維度超過 1000)大分辨率圖片建議統(tǒng)一放在 xxhdpi

目下管理,否則將導(dǎo)致占用內(nèi)存成倍數(shù)增加寞焙。 說明: 為了支持多種屏幕尺寸和密度储狭,Android 為多種屏幕提供不同的資源目錄進行適配為不同屏幕密度提供不同的位圖可繪制對象,可用于密度特定資源的配置限定符下面詳述) 包括 ldpi(低)捣郊、mdpi(中)辽狈、 hdpi(高)、xhdpi(超高)呛牲、xxhdpi 超高)和 xxxhdpi(超超超高)刮萌。例如,高密度屏幕的位圖應(yīng)使用 mipmap-hd根據(jù)當(dāng)前的設(shè)備屏幕尺寸和密度侈净,將會尋找最匹配的資源尊勿,如果將高分辨率圖片入低密度目錄僧凤,將會造成低端機加載過大圖片資源畜侦,又可能造成 OOM,同時也是源浪費躯保,沒有必要在低端機使用大圖旋膳。 正例: 將 144144 的應(yīng)用圖標(biāo) PNG 文件放在 mipmap-xxhdpi 目錄 反例: 將 144144 的應(yīng)用圖標(biāo) PNG 文件放在 mipmap-mhdpi 目錄

三:其它規(guī)范

間距規(guī)范
一欄上邊距24dp

普通大間距16dp

分割線0.5dp

中框左右邊距16dp

文字上下邊距4dp

左右邊距8dp

默認(rèn)view高度48dp

區(qū)域分割線8dp

字體排版:

大標(biāo)題34sp

標(biāo)題20sp

副標(biāo)題16sp

正文14sp

輔助信息12sp

提示文字7sp

按鈕文字14sp

常用字號:

12sp: 小字提示

14sp(桌面端13sp): 正文/按鈕文字

16sp(桌面端13sp):小標(biāo)題

20sp: AppBar文字

24sp: 大標(biāo)題

34sp/45sp/56sp/112sp/超大號文字

所有可操作元素最小點擊區(qū)域尺寸:48dp*48dp

柵格系統(tǒng)的最小單位是8dp,一切距離,尺寸都應(yīng)該是8dp的整數(shù)倍途事,以下是一些常見的尺寸與距離:

·頂部狀態(tài)欄高度:24dp

·AppBar最小高度:56dp

·底部導(dǎo)航欄高度:48dp

·懸浮按鈕尺寸:56*56dp/40*40dp

·用戶頭像尺寸:64*64dp/40*40dp

·小圖標(biāo)點擊區(qū)域:48*48dp

·側(cè)邊抽屜到屏幕右邊的距離:56dp

·卡片間距:8dp

·分割線上下留白:8dp

·大多數(shù)元素的留白距離:16dp

·屏幕左右對齊基線:16dp

·文字左側(cè)對齊基線:72dp

團隊協(xié)同開發(fā)規(guī)章

一:事先約定

約定絕對是提高團隊協(xié)作最有用的方式之一验懊。大家先約定好一些規(guī)則,然后接下來各自干各自的尸变,并且遵循著這個約定义图,這樣便大大提高了效率。 一個項目可以約定的東西有很多召烂,比如約定一種 分支策略碱工,約定一種代碼風(fēng)格(通過 eslint 插件來執(zhí)行),約定接口文檔等等。

1:統(tǒng)一工具和版本

“工欲善其事必先利其器”怕篷,統(tǒng)一團隊成員開發(fā)工具和依賴插件版本是一件非常重要的事情历筝,可以避免后期大量的項目合并問題。減少項目開發(fā)周期廊谓。

2:命名約定

命名沖突是開發(fā)過程中常見的一個問題梳猪,特別是在多人協(xié)作開發(fā)的項目中。團隊協(xié)作開發(fā)一般會以模塊進行進行劃分蒸痹,在命名時春弥,可以通過加上模塊名稱作為前綴或者后綴,可以避免大部分的命名沖突問題叠荠,大大提示團隊開發(fā)的效率惕稻。

二:統(tǒng)一管理

1:善用代碼版本管理工具

在團隊開發(fā)過程中,必須約定每日統(tǒng)一上傳合并代碼蝙叛,每個團隊成員必須單獨創(chuàng)建一個分支進行開發(fā)俺祠,自測試通過后再合并到主分支上,這樣可以避免后期花費大量的時間排查和解決問題借帘。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蜘渣,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肺然,更是在濱河造成了極大的恐慌蔫缸,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件际起,死亡現(xiàn)場離奇詭異拾碌,居然都是意外死亡,警方通過查閱死者的電腦和手機街望,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進店門校翔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人灾前,你說我怎么就攤上這事防症。” “怎么了哎甲?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵蔫敲,是天一觀的道長。 經(jīng)常有香客問我炭玫,道長奈嘿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任吞加,我火速辦了婚禮裙犹,結(jié)果婚禮上酝惧,老公的妹妹穿的比我還像新娘。我一直安慰自己伯诬,他們只是感情好晚唇,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著盗似,像睡著了一般哩陕。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上赫舒,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天悍及,我揣著相機與錄音,去河邊找鬼接癌。 笑死心赶,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的缺猛。 我是一名探鬼主播缨叫,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼荔燎!你這毒婦竟也來了耻姥?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤有咨,失蹤者是張志新(化名)和其女友劉穎琐簇,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體座享,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡婉商,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了渣叛。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丈秩。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖诗箍,靈堂內(nèi)的尸體忽然破棺而出癣籽,到底是詐尸還是另有隱情挽唉,我是刑警寧澤滤祖,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站瓶籽,受9級特大地震影響匠童,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜塑顺,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一汤求、第九天 我趴在偏房一處隱蔽的房頂上張望俏险。 院中可真熱鬧,春花似錦扬绪、人聲如沸竖独。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽莹痢。三九已至,卻和暖如春墓赴,著一層夾襖步出監(jiān)牢的瞬間竞膳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工诫硕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坦辟,地道東北人。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓章办,卻偏偏與公主長得像锉走,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子藕届,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354