讀《代碼整潔之道》有感
本周我開始閱讀Robert C. Martin所著的《代碼整潔之道》一書,希望能從中收獲高效編寫代碼的訣竅,因為我自認為我的代碼有時候比較糟糕,不太容易維護。一方面,是我沒有養成良好的編程習慣;另一方面,我不太清楚什麽才是真正整潔的代碼。下面是我本周閱讀的心得,與大家分享一下,希望能給誌同道合的人以啟迪。
糟糕的代碼
本書中介紹了20世紀80年代末的一個公司倒閉的原因,起初,那家公司寫出了一個很流行的殺手應用,以至於許多專業人士都前去購買,但是,就因為他們急著推出產品,而把代碼寫得亂七八糟,最後再也沒辦法管理他們的代碼,用戶數量也就日益減少,最後這家公司就關門大吉了。
看完了這個故事,我產生了深深的恐懼感,代碼寫得糟糕竟然會產生這麽嚴重的後果,回想自己原來編程時的惡習,我就倒吸一口冷氣。我記得在剛剛開始學編程時,老師曾經告訴我們初學者就要盡量給自己的代碼寫註釋,這樣寫出來的代碼的可讀性比較高,而且在代碼出bug時,可以較為方便的找到bug的所在。但是,我覺得寫註釋太麻煩了,所以經常省略這一環節,結果就是當代碼出問題時,我就只能從頭開始找bug,投入大量的時間才能真正解決問題。更嚴重的是,我一旦長時間沒有接觸自己的代碼,就會遺忘自己的思路,以至於看不懂自己的代碼......
想到這裏,我決定以後要努力改掉這一個壞毛病,否則雖然在寫代碼時雖然可以節省較多的時間,但是代碼一旦出了問題,我所需要的時間往往是成倍的。現在 我們畢竟還是學習為主,所以很少需要維護自己的代碼,但是將來一旦走上工作崗位,維護自己的代碼將會變成家常便飯,因此,寫下註釋有助於快速理解自己的編程思路,這會讓自己成為一個高效的程序員,將更多的時間投入到開發新產品上,而不是永無止境的debug上。
當然,代碼的好壞也不是僅僅由是否寫了註釋來進行判斷,更重要的是代碼的邏輯需要直截了當,盡量減少依賴關系,使之便於維護。這就需要程序員在編寫程序時擁有清晰的頭腦,對所需要解決的問題使用最簡潔的算法進行處理。在這些方面,我還有好多東西需要學習。
童子軍軍規
這是書中很有意思的一個點,雖然作者只用了寥寥幾筆就交代完了這一部分內容,但是我感覺還是讓我有所思考的。
美國童子軍有這樣一條軍規——讓營地比你來時更加幹凈。
許許多多的團隊在將一個項目搞砸之後,往往是想從頭開始,因為一個空白的項目看上去無比幹凈,對於這些團隊來說,他們可以用這個空白的項目做很多不同的設計。但是,即使他們利用這個從頭開始的機會能夠取得成功,也已經浪費了大把的時間和經歷。那麽,為什麽這些團隊在一開始時就能註重代碼是否糟糕的問題,並且一邊開展新的方向,一邊優化原有的代碼呢?這樣即使的解決問題,就不會出現壓垮駱駝的最後一根稻草。
對於自身而言,我將來在進行團隊項目時,也要註意這些問題,取好每一個變量名,拆分有些比較長的函數,不斷消除重復的代碼,清理一些嵌套的if語句,甚至是采取更加合適的數據結構或者算法,不斷地是我的代碼變得整潔,成為易維護,可讀性高的優質代碼。
讀《代碼整潔之道》有感