天天看點

寫出高品質代碼的8條“軍規”

寫出簡潔,易懂的程式應該是每個程式員追求的目标,有人說程式不是給計算機用的嗎,可以工作不就OK了嗎?然而恰恰相反

程式是給寫人看的

無論是什麼樣的語言,編譯的也好,解釋的也罷,最終實際執行的都是轉換後的二進制代碼。計算機是不需要看你寫的源代碼的。源代碼是給你自己或者和你一樣的人類程式員閱讀的。程式的好壞決定着你們未來的命運。

程式維護的時間遠長于創造他的時間

每個開發出來的計算機系統都被寄予厚望:盡可能長時間的存在于世。盡管他可能是某個實習生花一兩個月寫成的。而需求總在變化,很多時候都是在原有程式上的調整,甚至是修修補補。重寫系統這件事情一直都是很危險的。從前有個著名的浏覽器公司叫Netscape(網景公司),他們重寫了自己浏覽器的代碼,後來。。。他們被另一款臭名昭著的浏覽器IE6徹底打敗了。是以,原始程式的品質決定後續的維護成本

那麼怎樣寫出高品質的代碼,需要注意哪些點呢,先從基本的做起

格式工整

每種語言都有自己的格式要求,每個公司也一樣,現在有各種自動格式化工具,這點不難做到。

命名清晰

變量命名符合慣例,要表達清楚的含義,請謹慎使用a, b, c這種無意義的字母。這點和寫文章一樣,滿篇小明、小紅,一看就是國小生作文。

分離變化

需求總在變化,這是永恒的主題,如果我們清晰的知道哪個部分的程式可能在将來需要調整,那麼把他們隔離起來。可以作為一個方法/函數,一個類,一個檔案,或者資料庫裡的一個資料。

保持抽象

你的程式應該調用的是某一個接口,某一個協定。對于其他的程式知道的越少越好。不八卦别人的資訊,可以避免程式像面條一樣攪在一起。

不要重複(Don't repeat yourself/DRY)

“這個功能還不簡單,拷貝一下改改不就好了”。建議你鄙視提出這個想法的朋友,拷貝一份,以後修改的工作量X2,現在的苦逼都是因為當年的偷懶。不管是代碼也好,邏輯也好,都應該避免重複。

防呆設計(Don't make me think)

程式的接口應該簡單而清晰,不要使用數量繁多而晦澀的參數。

保持簡單(Keep it simple, stupid/KISS)

不要使用大段的複雜代碼,每一段程式的職責盡量單一而明确。

按常理出牌

符合人類的思維規律,比如這是一個get讀取函數,調用它一定不會出現修改、删除或者其他詭異的效果。

做好以上這些點差不多就能寫出清晰而優秀的代碼了,但程式是否優雅而高效還要取決于程式員的設計功力,這需要經驗和積累。我們一起加油吧

繼續閱讀