如何才能写出一手高质量优美的代码
生活随笔
收集整理的這篇文章主要介紹了
如何才能写出一手高质量优美的代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
怎么判斷代碼是否是優質量的代碼呢?下面來簡單對代碼質量的問題進行一個介紹。
編碼標準:一般來說,公司都會有一份編碼規范,類命名、包命名、代碼風格之類的都會有所要求。
代碼重復:顧名思義就是重復的代碼,如果代碼中有大量的重復代碼,就要考慮是否將重復的代碼提取出來,封裝成一個公共的方法或者組件。
代碼覆蓋率:測試代碼能運行到的代碼比率,代碼經過了單元測試了嗎?是不是每個方法都進行了測試,代碼覆蓋率是多少?這關系到代碼的功能性和穩定性。
依賴項分析:代碼依賴關系怎么樣?耦合關系怎么樣?是否有循環依賴?是否符合高內聚低耦合的原則?
復雜度分析:如果代碼中嵌套了很多層的if else,就會讓人很難閱讀。要相信越優秀的代碼,越容易讀懂。
那么如何才能編寫出優質代碼呢?我相信每個開發人員都會有自己的理解。這里整理了一些方法,供大家參考。
上海尚學堂java培訓寫代碼必須從開始就規范,這些都是剛學編程開始必須養成的好習慣。
另外我們經常會不經意的犯一些這樣的錯誤:寫if else if else 判斷語句的時候,條件判斷會出現重復,分支里面的代碼可能永遠不會執行等,這些其實都是我們在碼之前沒有理清思路導致的,也就是我們前面所說代碼注釋的重要性了。
過多的考慮將來的可能性:有的時候我們考慮代碼的可擴展性時,會進入一個誤區,也就是過猶不及的概念。帶入了非常多當前并沒有出現的可能性,這些內容可能永遠不會用到,完全沒必要在當前就寫進去。
重構使軟件更易理解。
重構有助于找到Bug。
重構有助于提高編程速度。
編碼標準:一般來說,公司都會有一份編碼規范,類命名、包命名、代碼風格之類的都會有所要求。
代碼重復:顧名思義就是重復的代碼,如果代碼中有大量的重復代碼,就要考慮是否將重復的代碼提取出來,封裝成一個公共的方法或者組件。
代碼覆蓋率:測試代碼能運行到的代碼比率,代碼經過了單元測試了嗎?是不是每個方法都進行了測試,代碼覆蓋率是多少?這關系到代碼的功能性和穩定性。
依賴項分析:代碼依賴關系怎么樣?耦合關系怎么樣?是否有循環依賴?是否符合高內聚低耦合的原則?
復雜度分析:如果代碼中嵌套了很多層的if else,就會讓人很難閱讀。要相信越優秀的代碼,越容易讀懂。
那么如何才能編寫出優質代碼呢?我相信每個開發人員都會有自己的理解。這里整理了一些方法,供大家參考。
上海尚學堂java培訓寫代碼必須從開始就規范,這些都是剛學編程開始必須養成的好習慣。
1、養成一個好習慣
養成一個良好的習慣對我們的工作來說非常重要,當然不僅僅是工作,其他方面亦然。養成一個好習慣需要你從一開始就去培養,并且持之以恒,堅持不懈。而我們下面講的很多內容,或者說絕大部分內容都可以算做這個好習慣中的一部分。2、規范你的代碼
俗話說得好:”沒有規矩,不成方圓”。代碼遵循統一的格式規范,首先便于自己日后維護,其次便于移交他人。好的編碼規范可以盡可能的減少一個軟件的維護成本,畢竟很少有一個軟件從開始到結束,都由最初的開發人員來維護。好的編碼規范還可以改善軟件的可讀性, 不僅自己讀起來會清晰明朗,他人也更容易理解新的代碼,可以最大限度的提高團隊開發的合作效率,這對一個項目團隊來說非常重要。
3、合理注釋代碼
永遠不要過于相信自己的理解力!當你思路通暢,進入編程境界時,你可以很流暢的實現某個功能,但這種流暢可能是因為你當時正處于這種開發思路中,為了在再次閱讀這段代碼時,還能找回當初編寫代碼的思路,建議添加注釋!如今,軟件開發變成了協調作戰,團隊成員的溝通變得很重要,因此,一個人寫的代碼,需要被整個團隊的其他成員所理解。而且,隨著硬件設備的飛速發展,程序的可讀性取代執行效率變成了第一考慮的要素。 程序注釋是源代碼的重要部分,對于一份規范的程序源代碼而言,注釋應該占到源代碼的1/3以上。4、不寫過多參數方法
當你的方法參數超過5個時,你就要考慮你這個方法設計的是否合理了。真的需要這么多參數嗎?是否可以精簡?不但添加了理解難度,而且容易參數位置不正確出現運行異常,還不容易維護。如果實在必須,那么你也是到了必須改變的時候,封裝對象來進行傳遞吧,這樣不僅減少了參數個數,也為以后提供了無窮擴展的可能。同時使用者也不必去硬記參數的順序。5、不寫重復代碼
我想我們每個開發人員時時刻刻都要念上幾遍來反復提醒自己。重復代碼絕對是垃圾代碼的第一特征,并且是最大的特征。復制粘貼的時候會很爽,但是一旦出錯,意味著加倍的工作量和持續的不可控。不寫重復代碼的最高目標是不寫兩行一摸一樣的代碼,當然這僅存在理論的可能,我們需要做到是不寫兩份功能一致或相似的代碼即可。6、不做沒有意義的事
我們開發的時候,常常會通過復制粘貼來實現一些功能,但是復制粘貼之后,會引入很多使用不到的東西,這些代碼擱置在那邊完全就是無意義的,可以刪除。另外我們經常會不經意的犯一些這樣的錯誤:寫if else if else 判斷語句的時候,條件判斷會出現重復,分支里面的代碼可能永遠不會執行等,這些其實都是我們在碼之前沒有理清思路導致的,也就是我們前面所說代碼注釋的重要性了。
過多的考慮將來的可能性:有的時候我們考慮代碼的可擴展性時,會進入一個誤區,也就是過猶不及的概念。帶入了非常多當前并沒有出現的可能性,這些內容可能永遠不會用到,完全沒必要在當前就寫進去。
7、正確擺放代碼
除了要實現功能外,還要考慮的事情非常多,正確擺放代碼位置就很重要。檢查方法,看里面的實現邏輯是否應該放在這個名稱的方法中;檢查類,看里面的方法是否應該放在當前類中;檢查工程,看里面的類是否應該放在這個工程里面。一層層檢查,該發現代碼有多少問題了吧。這有時候就是人的過程性思維導致的,從大的方面來講是我們抽象的不夠。8、多為你的使用者考慮
做任何事情如果沒有服務的對象,也就失去了它本身的意義,同樣,編碼也是如此。如果你是做框架做產品的,那么你面對的就是普通開發人員;如果你是做項目的,那么你面對的就是我們通常意義上的客戶。不管你面對的是什么對象,一個好的出發點非常重要:多為你的使用者考慮。也就說我們常說的,客戶至上。這里我們拿編寫工具方法為例:當你寫出一個非常好的工具組件,最后你要考慮的肯定是開放的api接口,該開放哪些接口,接口的參數如何。這些都需要你從使用者的角度出發,你才能考慮的盡可能完善。不管是java里面的重載,還是設計模式里面的適配器,說的都是這個概念,為的都是讓你的使用者盡可能的簡單,少做事情。9、拆卸你的代碼
評價一份代碼的優劣,其中一個非常重要的指標就是:是否易于拆卸。簡單來說,就是它的耦合性。這里的耦合分為內耦合和外耦合。我們一般注意到的是外耦合,即我們的代碼與外部代碼之間。其實內耦合在某些時候更加的重要:我們的代碼內部之間的關系。比如你做了一個持久化服務工具,里面涵蓋了3塊內容:增刪改查、腳本操作、數據定義。整個持久化服務不依賴于外部的任何內容,或者依賴的層面會切割到一條線上,那么代表你這份代碼的外耦合控制的非常好。這個時候想用到一個數據定義的功能,但是它想在里面加入非常多的個性化,也就是說他僅僅想要1/3的內容,這個時候你的代碼如果能夠很好的拆卸出來,而不破壞其他部分的平衡,你的內耦合才算達標。10、合理利用檢查工具
碼完代碼后,用上一些簡單的靜態檢查工具,比如checkstyle、fingbug等,可以很方便的檢查出你代碼中格式、以及一些隱藏的漏洞。另外可以做下單元測試,讓你的代碼更健壯。11、重構你的代碼
重構能改善軟件設計。重構使軟件更易理解。
重構有助于找到Bug。
重構有助于提高編程速度。
總結
以上是生活随笔為你收集整理的如何才能写出一手高质量优美的代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: scvmm live migration
- 下一篇: Error:Cannot set the