人跟人的能力千差萬別,所以寫出來的代碼質量,肯定是不同的。有的人,寫一個小邏輯,可能需要100行,而有的人,可能僅僅需要10行。代碼永遠會有Bug,在這方面沒有最好只有更好。高效是程序員必須作到的事情,無錯是程序員一生的追求。復用、分而治之、折衷是代碼哲學的基本思想。模塊化與面向對象是實現高效無錯代碼的方法。高效無錯代碼需要思想與實踐的不斷反復。
如何做到代碼高效無錯,提高代碼質量的方法有哪些?又有哪些經驗和技巧呢?本文整理自知乎網,與開發者們一起探討該話題。如果您有好的想法,歡迎在評論中列出。
一起來看下編程界各位大牛如何為您支招:
互聯網評論員 孫立偉:
1. 代碼風格和規范
多看看網上的一些代碼規范,仔細思考一下制定這些規范的出發點是什么。例如Oracle(前SUN)公司的代碼規范oracle.com,Google的代碼規范googlecode。
2. 學習最佳實踐
在編碼中遇到的各種大大小小的問題,首先不是自己去“閉門造車”的冥思苦想,多用Google,搜搜是否已經有現成的解決方案。
3. 閱讀優秀的開源代碼
網上有很多優秀的開源項目,針對你自己項目中遇到的問題,找找類似的開源項目,學習、研究,最重要的是變成自己的東西。
4. 學好英語
英語是目前所有編程語言的基礎。你的文件名、類名、方法名、變量名都是需要一個好的英語基礎才能夠起得合適。任何的業務邏輯,都需要你使用以英語為基礎的計算機語言表達出來。英語不好,你的代碼永遠看起來不專業。
互聯網評論員 鐘聲:
靠牛人帶,靠代碼Review,應該對初期成長很有幫助,不過受環境限制較大,可能并不是所有人都能有這種幸運。多看啟發思路的書,多看開源代碼,用輔助工具(lint、findbugs等),都是靠譜的答案,不過我還想補充一點,在這些標準答案背后,更重要的一點:要充分利用自己的敏感,當看著一堆需要自己負責的成品、半成品代碼時,哪怕只有一點點的不爽,千萬不要忍,而要勇敢地——改!大刀闊斧、大張旗鼓!
其實道理并不復雜:重復的東西可以合并,零散的邏輯可以集中。讓一切保持有條不紊,只需要拆解得當。此時,那些曾經空洞的理論開始具現化,節省了思考的時間,也成為了順手的工具。“DRY”一個詞就可以說明白原則,“技術債務”一個詞就可以爭取到重構時間。
DSP軟件程序員 馮旭輝:
1.學會模塊分割是提高代碼質量的關鍵
人的精力有限,人的經驗也有限,但把問題拆分成子問題,形成一個個獨立的模塊,這就可以讓我們的精力更加集中于某個細微的問題,無論如何,都會大大提高模塊的編寫質量。
2.要從一開始就養成一個良好的編碼風格
比如函數的頭部注釋的格式,函數間的分割方式,函數組的分割方式形成固定的程式。并使用編輯器的宏功能預先做好快捷方式,需要時直接生成出來這些格式化文本。
3.需要使用CVS之類的源代碼版本管理工具
每完成一個小功能改進或者bug修復就提交,這樣下來,你的工作就是逐步精化。
對每一個出現的bug,修改完成后,進行詳細的處理過程描述,以備今后再犯類似的錯誤。
還有些碼農認為,應該多讀好的代碼,比如著名開源框架的代碼的寫法,在保證功能、效率的基礎上思考結構,回顧下自己編寫的代碼;反復評審代碼,規范代碼、改進實現方案的寫法。同時還應該盡一切努力減少代碼重復,將代碼分解為自成體系,可測試的小塊 ;最后測試,測試,再測試。
當然這還需要有很強的毅力。