計算機書籍每年都會出版很多,但是能影響幾代程式員的有這幾本書,推薦一下,肯定讓你有醍醐灌頂的開悟的感覺。
1、重構 改善既有代碼的設計(第2版 平裝版)
豆瓣評分:9.2
本書是一本為專業程式員編寫的重構指南。我的目的是告訴你如何以一種可控且高效的方式進行重構。你将學會如何有條不紊地改程序式結構,而且不會引入錯誤,這就是正确的重構方式。
盡管本書的關注對象是代碼,但重構對于系統設計也有巨大影響。資深設計師和架構師也很有必要了解重構原理,并在自己的項目中運用重構技術。最好是由有威望的、經驗豐富的開發人員來引入重構技術,因為這樣的人最能夠透徹了解重構背後的原理,并根據情況加以調整,使之适用于特定工作領域。如果你使用的不是JavaScript而是其他程式設計語言,這一點尤其重要,因為你必須把我給出的範例用其他程式設計語言改寫。
下面我要告訴你,如何能夠在不通讀全書的情況下充分用好它。
- 如果你想知道重構是什麼,請閱讀第1章,其中的示例會讓你弄清楚重構的過程。
- 如果你想知道為什麼應該重構,請閱讀前兩章,它們會告訴你重構是什麼以及為什麼應該重構。
- 如果你想知道該在什麼地方重構,請閱讀第3章,它會告訴你一些代碼特征,這些特征指出“這裡需要重構”。
- 如果你想着手進行重構,請完整閱讀前四章,然後選擇性地閱讀重構名錄。一開始隻需概略浏覽清單,看看其中有些什麼,不必了解所有細節。一旦真正需要實施某個重構手法,再詳細閱讀它,從中擷取幫助。清單部分是供查閱的參考性内容,你不必一次就把它全部讀完。
2、代碼整潔之道
學寫整潔代碼很難。它可不止于要求你掌握原則和模式。你得在這上面花工夫。你須自行實踐,且體驗自己的失敗。你須觀察他人的實踐與失敗。你須看看别人是怎樣蹒跚學步,再轉頭研究他們的路數。你須看看别人是如何絞盡腦汁做出決策,又是如何為錯誤決策付出代價。
閱讀本書要多用心思。這可不是那種降落前就能讀完的“感覺不錯”的飛機書。本書要讓你用功,而且是非常用功。如何用功?閱讀代碼——大量代碼。而且你要去琢磨某段代碼好在什麼地方、壞在什麼地方。在我們分解,而後組合子產品時,你得亦步亦趨地跟上。這得花些工夫,不過值得一試。
閱讀本書有兩種原因:第一,你是個程式員;第二,你想成為更好的程式員。很好。我們需要更好的程式員。
這是本有關編寫好程式的書。它充斥着代碼。我們要從各個方向來考察這些代碼。從頂向下,從底往上,從裡而外。讀完後,就能知道許多關于代碼的事了。而且,我們還能說出好代碼和糟糕的代碼之間的差異。我們将了解到如何寫出好代碼。我們也會知道,如何将糟糕的代碼改成好代碼。
程式設計珠玑 第2版
本書描述了計算機程式設計更具魅力的一面:在可靠的工程之外,在洞察力和創造力範圍内結晶而出的程式設計珠玑。正如自然界中的珍珠來自于磨砺牡蛎的細沙一樣,這些程式設計珠玑來自于磨砺程式員的實際問題。書中的程式都很有趣,傳授了重要的程式設計技巧和基本的設計原理。