怎樣才能寫出漂亮高質(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ù)劣领,又提供了擴展性姐军。
- 不寫重復(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文檔教程,需要的話可以自己去下載存筏。