怎樣才能寫出漂亮高質(zhì)量的java代碼菌仁?

怎樣才能寫出漂亮高質(zhì)量的java代碼浩习?
一般來說代碼質(zhì)量由以下五個方面決定:編碼標(biāo)準、代碼重復(fù)济丘、代碼覆蓋率谱秽、依賴項分析、復(fù)雜度分析摹迷。我們分別分析一下這五個方面疟赊。

編碼標(biāo)準:一般每個公司都會有一套自己的編碼規(guī)范,規(guī)范都會詳細的要求類命名峡碉、包命名以及代碼風(fēng)格等近哟。
代碼重復(fù):簡單來說就是你需要規(guī)避大量重復(fù)代碼,如果說你發(fā)現(xiàn)你有大量的重復(fù)代碼鲫寄,那就要考慮把這部分代碼提取出來單獨的封裝成公共的方法或者組件了椅挣。
代碼覆蓋率:要清楚你的測試代碼占總代碼的覆蓋率,這關(guān)系到代碼的功能性和穩(wěn)定性塔拳。
依賴項分析:代碼依賴關(guān)系怎么樣?耦合關(guān)系怎么樣峡竣?是否有循環(huán)依賴靠抑?是否符合高內(nèi)聚低耦合的原則?
復(fù)雜度分析:代碼一點要做到至簡适掰,盡量規(guī)避多層循環(huán)或者多層的if else颂碧。
那么如何才能編寫出優(yōu)質(zhì)代碼呢?我相信每個開發(fā)人員都會有自己的理解类浪。這里整理了一些方法载城,供大家參考。
1费就、 養(yǎng)成一個好習(xí)慣
有一個良好的習(xí)慣是很有必要的诉瓦,這不僅僅是針對我們的工作,其他方面也是同樣的道理力细。我們后面講的內(nèi)容大部分都可以歸于養(yǎng)成一個好習(xí)慣的具體實現(xiàn)睬澡。

2、 規(guī)范你的代碼
代碼擁有統(tǒng)一的格式和規(guī)范眠蚂,既便于代碼的邏輯清晰煞聪,又便于維護,好的編碼規(guī)范可以盡可能的減少一個軟件的維護成本逝慧,甚至在將來移交給他人時昔脯,也能更容易理解你的代碼啄糙,畢竟很少有一個軟件從開始到結(jié)束,都由最初的開發(fā)人員來維護云稚。

3隧饼、 不寫過多參數(shù)方法
當(dāng)你的方法參數(shù)超過5個時,你就應(yīng)該考慮是否有無用參數(shù)了碱鳞,過多參數(shù)不僅增加了理解難度桑李,還容易出現(xiàn)運行時異常,更不利于維護窿给。如果你覺得你必須要有這么多參數(shù)贵白,那就把參數(shù)封裝成對象吧,這樣既方便管理參數(shù)崩泡,又提供了擴展性禁荒。

4.不寫重復(fù)代碼
當(dāng)你的方法參數(shù)超過5個時,你就應(yīng)該考慮是否有無用參數(shù)了角撞,過多參數(shù)不僅增加了理解難度呛伴,還容易出現(xiàn)運行時異常,更不利于維護谒所。如果你覺得你必須要有這么多參數(shù)热康,那就把參數(shù)封裝成對象吧,這樣既方便管理參數(shù)劣领,又提供了擴展性姐军。

  1. 不寫重復(fù)代碼
    重復(fù)代碼=垃圾代碼。如果你發(fā)現(xiàn)你有很多的重復(fù)代碼時尖淘,正確的做法是把這部分代碼提取出來封裝成公共方法或者工具奕锌。

6、不做沒有意義的事
我們開發(fā)的時候村生,常常會通過復(fù)制粘貼來實現(xiàn)一些功能惊暴,但是復(fù)制粘貼之后,會引入很多使用不到的東西趁桃,這些代碼擱置在那邊完全就是無意義的辽话,可以刪除。

7镇辉、正確擺放代碼
除了要實現(xiàn)功能外屡穗,還要考慮的事情非常多,正確擺放代碼位置就很重要忽肛。檢查方法村砂,看里面的實現(xiàn)邏輯是否應(yīng)該放在這個名稱的方法中;檢查類屹逛,看里面的方法是否應(yīng)該放在當(dāng)前類中础废;檢查工程汛骂,看里面的類是否應(yīng)該放在這個工程里面。一層層檢查评腺,該發(fā)現(xiàn)代碼有多少問題了吧帘瞭。這有時候就是人的過程性思維導(dǎo)致的,從大的方面來講是我們抽象的不夠蒿讥。

8蝶念、多為你的使用者考慮
做任何事情如果沒有服務(wù)的對象,也就失去了它本身的意義芋绸,同樣媒殉,編碼也是如此。如果你是做框架做產(chǎn)品的摔敛,那么你面對的就是普通開發(fā)人員廷蓉;如果你是做項目的,那么你面對的就是我們通常意義上的客戶马昙。不管你面對的是什么對象桃犬,一個好的出發(fā)點非常重要:多為你的使用者考慮。

9行楞、合理利用檢查工具
碼完代碼后攒暇,用上一些簡單的靜態(tài)檢查工具,比如checkstyle子房、fingbug等扯饶,可以很方便的檢查出你代碼中格式、以及一些隱藏的漏洞池颈。另外可以做下單元測試,讓你的代碼更健壯钓丰。

10躯砰、重構(gòu)你的代碼
重構(gòu)能改善軟件設(shè)計。
重構(gòu)使軟件更易理解携丁。
重構(gòu)有助于找到Bug琢歇。
重構(gòu)有助于提高編程速度。

最后在這里推薦你加下我的Java學(xué)習(xí)交流群:641121948梦鉴,里面有2019年最新Java精講視頻教程李茫,群文件里面還有學(xué)習(xí)手冊,面試題肥橙,開發(fā)工具魄宏,PDF文檔教程,需要的話可以自己去下載存筏。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宠互,一起剝皮案震驚了整個濱河市味榛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌予跌,老刑警劉巖搏色,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異券册,居然都是意外死亡频轿,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門烁焙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來航邢,“玉大人,你說我怎么就攤上這事考阱〈渲遥” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵乞榨,是天一觀的道長秽之。 經(jīng)常有香客問我,道長吃既,這世上最難降的妖魔是什么考榨? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮鹦倚,結(jié)果婚禮上河质,老公的妹妹穿的比我還像新娘。我一直安慰自己震叙,他們只是感情好掀鹅,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著媒楼,像睡著了一般乐尊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上划址,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天扔嵌,我揣著相機與錄音,去河邊找鬼夺颤。 笑死痢缎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的世澜。 我是一名探鬼主播独旷,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了势告?” 一聲冷哼從身側(cè)響起蛇捌,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎咱台,沒想到半個月后络拌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡回溺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年春贸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遗遵。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡萍恕,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出车要,到底是詐尸還是另有隱情允粤,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布翼岁,位于F島的核電站类垫,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏琅坡。R本人自食惡果不足惜悉患,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榆俺。 院中可真熱鬧售躁,春花似錦、人聲如沸茴晋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诺擅。三九已至揩局,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間掀虎,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工付枫, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烹玉,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓阐滩,卻偏偏與公主長得像二打,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子掂榔,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

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