團(tuán)隊(duì)開發(fā)代碼規(guī)范

團(tuán)隊(duì)合作和個(gè)人開發(fā)完全不一樣挺尿,要想問題少,必須強(qiáng)行規(guī)定一些東西炊邦,成為一種習(xí)慣编矾,起初會(huì)很痛苦,但是這樣磨合一段時(shí)間后會(huì)發(fā)現(xiàn)效果非常的棒馁害,下面的一些規(guī)范是老大經(jīng)常和我們說的洽沟,我總結(jié)一下分享給大家!之后會(huì)不定時(shí)更新N舷浮裆操!

方法命名

1怒详、get set開頭的方法只能出現(xiàn)在dto 、do踪区、po等對(duì)象實(shí)體中昆烁,用于屬性值的設(shè)置和獲取,其他類中禁止使用缎岗,主要是為了避免讀代碼的人混淆

2静尼、從數(shù)據(jù)庫(kù)或者遠(yuǎn)程獲取數(shù)據(jù)時(shí),方法名稱應(yīng)該使用query传泊、fetch開頭

3鼠渺、創(chuàng)建數(shù)據(jù)對(duì)象或者對(duì)象轉(zhuǎn)換賦值操作,封裝到一個(gè)方法里面眷细,名字以build拦盹、generate開頭,填充數(shù)據(jù)以fill開頭,轉(zhuǎn)換數(shù)據(jù)使用convert開頭

4溪椎、方法名稱必須動(dòng)詞在前普舆,名詞在后

5、入?yún)⒉荒苁莔ap校读,因?yàn)閯e人不知道傳什么沼侣,出參不能是map,因?yàn)閯e人不知道返回的是啥歉秫。

日志處理

1蛾洛、日志打印統(tǒng)一使用slf4j,禁止使用log4j的方法雁芙,這樣主要是更換日志框架的時(shí)候更為方便

異常處理

1雅潭、所有異常不能吃掉,一直向上拋出却特,在最頂層捕獲并打印

2、如果返回值是BaseResult或者BasicResult類型筛圆,方法則不用拋出異常裂明,但異常信息一定要包含在返回對(duì)象之內(nèi),不能丟掉太援;否則必須拋出

3闽晦、為方法進(jìn)行aop攔截,使用log打印入?yún)⒑统鰠⑻岵恚梢詾榻鉀Q和定位問題節(jié)省大部分時(shí)間

參數(shù)列表

1仙蛉、參數(shù)如果是必傳參數(shù),使用基本類型替代碱蒙,不使用引用類型荠瘪,類中的變量也是如此夯巷,數(shù)據(jù)庫(kù)對(duì)象DO、POJO除外

注釋

1哀墓、如果是調(diào)用其他系統(tǒng)接口趁餐,接口的完整返回值樣例需要寫在調(diào)用方法的地方。能達(dá)到的目標(biāo)是讓讀代碼的人在不用看文檔的情況就能非常清晰的了解接口的返回值狀態(tài)

2篮绰、普通接口后雷、屬性注釋要全面,讓調(diào)用者可以不去問你就知道該怎么使用該接口吠各,而不是每個(gè)人都要問一遍臀突,無(wú)形之中增加溝通成本

代碼編寫

1、dao層只負(fù)責(zé)單純的CRUD贾漏,不摻雜處理任何業(yè)務(wù)候学,sql語(yǔ)句盡量設(shè)計(jì)成通用查詢形式,非特殊情況盡量不針對(duì)某一個(gè)業(yè)務(wù)功能寫針對(duì)性的sql磕瓷。

2盒齿、在dap層的上面封裝一層manager層,負(fù)責(zé)封裝一個(gè)或一組業(yè)務(wù)而存在困食,讓調(diào)用者不用關(guān)心具體實(shí)現(xiàn)就可以放心使用边翁,所以這一層的接口要精心設(shè)計(jì)哈

3、盡量讓主流程代碼清晰硕盹,像參數(shù)校驗(yàn)符匾、大段的數(shù)據(jù)填充、轉(zhuǎn)換瘩例,這些都應(yīng)該放到獨(dú)立的方法和類中

4啊胶、如果一個(gè)相同意義的接口在項(xiàng)目中出現(xiàn)了兩次,但是是不同的人寫的垛贤,那么這兩個(gè)人就要坐下來焰坪,決定干掉其中一個(gè)接口!

5聘惦、對(duì)于廢棄或修改接口某饰,將使用@Deprecated 關(guān)鍵字, 并通知上游修改替換善绎, 待全部替換完畢后黔漂,后續(xù)此接口將不再維護(hù),或是進(jìn)行刪除禀酱。

6炬守、能夠窮舉出來的字段盡量設(shè)計(jì)成枚舉,且枚舉的key不能為“”

日常開發(fā)分支管理

1剂跟、每次開發(fā)新功能或者修復(fù)bug都要新拉分支進(jìn)行開發(fā)减途,格式為開發(fā)新功能使用dev_date_xxxx,修復(fù)bug使用bugfix_date_xxxx

2酣藻、每次開發(fā)完畢,測(cè)試通過后提交合并請(qǐng)求,由專人負(fù)責(zé)合并到主干观蜗,必須由專人負(fù)責(zé)合并臊恋,這個(gè)很重要。

3墓捻、每次提交的日志抖仅,前綴必須是你當(dāng)前在干的這件事的簡(jiǎn)稱,比如(性能優(yōu)化:xxxxxx)砖第,過程中所有的日志提交都要使用這個(gè)前綴

4撤卢、每天早晨都需要把release的代碼向下合并到自己的分支,每天至少一次梧兼,上線合并release前再次向下合并一次放吩,確保沖突率降到最低

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市羽杰,隨后出現(xiàn)的幾起案子渡紫,更是在濱河造成了極大的恐慌,老刑警劉巖考赛,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惕澎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡颜骤,警方通過查閱死者的電腦和手機(jī)唧喉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忍抽,“玉大人八孝,你說我怎么就攤上這事○睿” “怎么了干跛?”我有些...
    開封第一講書人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)祟绊。 經(jīng)常有香客問我楼入,道長(zhǎng),這世上最難降的妖魔是什么久免? 我笑而不...
    開封第一講書人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮扭弧,結(jié)果婚禮上阎姥,老公的妹妹穿的比我還像新娘。我一直安慰自己鸽捻,他們只是感情好呼巴,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開白布泽腮。 她就那樣靜靜地躺著,像睡著了一般衣赶。 火紅的嫁衣襯著肌膚如雪诊赊。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,793評(píng)論 1 314
  • 那天府瞄,我揣著相機(jī)與錄音碧磅,去河邊找鬼。 笑死遵馆,一個(gè)胖子當(dāng)著我的面吹牛鲸郊,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播货邓,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼秆撮,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了换况?” 一聲冷哼從身側(cè)響起职辨,我...
    開封第一講書人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎戈二,沒想到半個(gè)月后舒裤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡挽拂,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年惭每,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片亏栈。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡台腥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绒北,到底是詐尸還是另有隱情黎侈,我是刑警寧澤,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布闷游,位于F島的核電站峻汉,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏脐往。R本人自食惡果不足惜休吠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望业簿。 院中可真熱鬧瘤礁,春花似錦、人聲如沸梅尤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至赡盘,卻和暖如春号枕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背陨享。 一陣腳步聲響...
    開封第一講書人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工葱淳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人霉咨。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓蛙紫,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親途戒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坑傅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,336評(píng)論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法喷斋,內(nèi)部類的語(yǔ)法唁毒,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法星爪,線程的語(yǔ)...
    子非魚_t_閱讀 31,668評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理浆西,服務(wù)發(fā)現(xiàn),斷路器顽腾,智...
    卡卡羅2017閱讀 134,719評(píng)論 18 139
  • 01 民辦小學(xué)的狂熱 前天到一個(gè)朋友這兒抄肖,聽他在抱怨孩子學(xué)圍棋的費(fèi)用太貴了久信,在考慮要不要停掉。我隨口問了一...
    傾曼閱讀 3,975評(píng)論 0 0
  • 為了增強(qiáng)轄區(qū)內(nèi)各企業(yè)負(fù)責(zé)人和管理人消防安全意識(shí),切實(shí)提高群眾的防火能力管毙,2017年5月2日下午4時(shí)許腿椎,馬田派...
    馬田所閱讀 582評(píng)論 0 0