1. 程式人生 > >開發高質量的java程式碼;實現完美的人生

開發高質量的java程式碼;實現完美的人生

一、程式碼質量差表現在哪些方面:

(1)可讀性:函式命名隨意,實現邏輯混亂,程式碼格式不規範。
(2)可靠性:程式執行不穩定,bug太多。
(3)維護性:程式碼邏輯沒有層次,混成一團,很難維護改進。
(4)移植性、重用性:許多人寫的程式碼,只能自己使用,很少有能共享的功能性程式碼。
(5)高效性:很少從演算法、資源佔用、執行效率等角度去考慮,經常導致軟體效能問題。

二、解決方法(個人角度)
(1)要儘量提升程式碼可讀性。不僅寫出計算機可以理解的程式碼,還要寫出人類容易理解的程式碼。
(2)熟悉自己所使用的程式語言。實際程式設計時,寫法、用法要標準,多用API類庫。
(3)培養嚴謹的邏輯思維能力,流程的每個細節都要考慮到。
(4)養成規範的程式設計習慣,如程式碼縮排、引數校驗、異常處理、添加註釋等。規範的程式碼可以減少bug處理,在實際專案中,複雜的演算法或邏輯只佔很小的
比例,大部分功能都不復雜,規範的程式碼可以大大減少bug數量。
(5)新增足夠多的單元測試。
(6)養成自我測試習慣。軟體研發作為一項工程而言,問題發現的越早,解決的代價就越低。程式設計師如果能儘量將一些潛在的問題最早的發現和解決,這樣
整體系統的效率和可靠性就有了最大的保證。除了進行正常呼叫的測試,還要考慮異常呼叫的測試。除了要對自身模組進行測試,還要重視對相關模組的測試。
(7)掌握一些程式設計思想、設計模式,常用演算法,這會讓程式碼更加具有結構性、條理更加清晰、效能更高效。
(8)多看高手程式碼,讀一些優秀的開原始碼(如github,code project上原始碼),看經典書籍。
(9)開發完成後,多回顧以前程式碼,尋找能改進之處。
(10)遇到問題要多想幾種解決的方案,鼓勵多與團隊成員交流,各人的思維方式不同、角度各異,各有高招。
(11)增強溝通能力,提升獲取需求以及確認需求能力,保證所做功能是客戶所需要的,避免不斷返工。
(12)養成經常性的文件習慣。缺乏文件,一個軟體系統就缺乏生命力,在未來的查錯,升級以及模組的複用時就會遇到極大的麻煩。
(13)多在設計上下功夫,設計上的不足將會帶來大量的重構與bug。多從全域性的角度去考慮整個專案程式碼的架構、模組、層次等問題,追求最佳解決方案。
(14)有意識的就專案的組織和複用設計進行揣摩,培養模組化思維。
(15)不斷總結和反思開發中遇到的問題及實現方案,並形成文件,鼓勵與團隊成員分享並交流。

三、解決方法(團隊角度)
(1) 明確的編碼規範要求
每個團隊成員要嚴格遵守編碼要求,編碼規範要求中不確定因素要通過團隊成員討論形成,在Code Review中包含程式碼編寫規範的審查。
(2) 實行正式的程式碼審查(Review)機制。
重要的模組專案組一起進行程式碼審查,團隊成員通過向別人講解自己的程式碼並得到反饋,能夠學到很多東西。要求具體到每個技術細節,因為討論的內容越具體,
在與別人的交流中獲得有價值資訊的可能性越大。
一般的功能模組可以讓另一位成員進行程式碼審查,主要審查程式碼規範性,設計以及實現邏輯,並給出反饋和建議。
(3) 對重要問題的解決方案採用頭腦風暴式討論,傾向有理有據的討論。
在明確問題背景後,對於不同解決方案進行討論,比較不同解決方案優缺點,權衡利弊。
(4) 任務分配上,不要過於追求進度。好的程式碼質量需要好的設計、高效的演算法選擇,這些都需要時間作為保證。對於複雜問題,可以單獨給員工一些時間
做設計、研究、分析,這樣從長遠來看是有價值的。
(5) 建立參與和分享的團隊文化 
儘可能地鼓勵團隊成員公開並分享他們的成果和想法,這會形成一個積極分享並樂於討論問題的氛圍,有利於提升團隊人員整體水平。