有哪些可以提高程式碼質量的書籍推薦?

JavaGuide發表於2021-04-06

這篇文章的內容其實很早就寫了,並且,我也已經同步在了我的 Github 的一個倉庫中(倉庫內容還在繼續完善中),地址:https://github.com/CodingDocs/awesome-cs-books(閱讀原文即可直達) 。對應的 Gitee地址:https://gitee.com/SnailClimb/awesome-cs (Github無法訪問或者訪問速度比較慢的小夥伴可以看碼雲上的對應內容)。

考慮到還未發過類似的文章,所以,今天晚上就來一篇!下面推薦都是我看過並且我覺得值得推薦的書籍。

不過,這些書籍都比較偏理論,只能幫助你建立一個寫優秀程式碼的意識標準。如果你想要編寫更高質量的程式碼、更高質量的軟體,還是應該多去看優秀的原始碼,多去學習優秀的程式碼實踐(比如設計模式、設計原則)

程式碼整潔之道

《重構》

必看書籍!無需多言。程式設計書籍領域的瑰寶。

世界頂級、國寶級別的 Martin Fowler 的書籍,可以說是軟體開發領域最經典的幾本書之一。目前已經出了第二版。

這是一本值得你看很多遍的書籍。

《Clean Code》

《Clean Code》是 Bob 大叔的一本經典著作,強烈建議小夥伴們一定要看看。

Bob 大叔將自己對整潔程式碼的理解濃縮在了這本書中,真可謂是對後生的一大饋贈。

《程式碼大全》

其實,《程式碼大全(第 2 版)》這本書我本身是不太想推薦給大家了。但是,看在它的豆瓣評分這麼高的份上,還是拿出來說說吧!

這也是一本非常經典的書籍,第二版對第一版進行了重寫。

我簡單地瀏覽過全書的內容,感覺內容總體比較虛,對於大部分程式設計師的作用其實不大。如果你想要切實地提高自己的程式碼質量,《Clean Code》和 《編寫可讀程式碼的藝術》我覺得都要比《程式碼大全》這本書更好。

不過,最重要的還是要多看優秀的原始碼,多學習優秀的程式碼實踐。

《編寫可讀程式碼的藝術》

《編寫可讀程式碼的藝術》這本書要表達的意思和《Clean Code》很像,你看它倆的目錄就可以看出來了。

在我看來,如果你看過 《Clean Code》 的話,就不需要再看這本書了。當然,如果你有時間和精力,也可以快速過一遍。

另外,我這裡還要推薦一個叫做 write-readable-code 的倉庫。這個倉庫的作者免費分享了一系列基於《編寫可讀程式碼的藝術》這本書的視訊。這一系列視訊會基於 Java 語言來教你如何優化我們們的程式碼。

在實踐中學習的效果肯定會更好!推薦小夥伴們都抓緊學起來啊!

《Effective java 》

Effective Java中文版(第3版)

Java 程式設計師必看!

又是一本 Java 領域國寶級別的書,非常經典。這本書主要介紹了在 Java 程式設計中很多極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。這篇文章能夠非常實際地幫助你寫出更加清晰、健壯和高效的程式碼。本書中的每條規則都以簡短、獨立的小文章形式出現,並通過例子程式碼加以進一步說明。

程式設計師職業素養

《 The Clean Coder》

《 The Clean Coder》是 Bob 大叔的又一經典著作。

《Clean Code》和《 The Clean Coder》這兩本書在國內都翻譯為 《程式碼整潔之道》,我覺得這個翻譯還是不夠優雅的。

另外,兩者的內容差異也很大。《Clean Code》這本書從程式碼層面來講解如何提高自己的程式碼質量。而《The Clean Coder》這本書則是從如何成為一名更優秀的開發者的角度來寫的,比如這書會教你如何在自己的領域更專業、如何說不、如何做時間管理、如何處理壓力等等。

架構整潔之道

《架構整潔之道》

你沒看錯,《架構整潔之道》這本書又是 Bob 大叔的經典之作。

這本書我強烈安利!認真讀完之後,我保證你對程式設計本質、程式語言的本質、軟體設計、架構設計可以有進一步的認識。

國內的很多書籍和專欄都借鑑了《架構整潔之道》 這本書。毫不誇張地說,《架構整潔之道》就是架構領域最經典的書籍之一。

正如作者說的那樣:

如果深入研究計算機程式設計的本質,我們就會發現這 50 年來,計算機程式設計基本沒有什麼大的變化。程式語言稍微進步了一點,工具的質量大大提升了,但是計算機程式的基本構造沒有什麼變化。

雖然我們有了新的程式語言、新的程式設計框架、新的程式設計正規化,但是軟體架構的規則仍然和 1946 年阿蘭·圖靈寫下第一行機器程式碼的時候一樣。

這本書就是為了把這些永恆不變的軟體架構規則展現出來。

專案管理

《人月神話》

這本書主要描述了軟體開發的基本定律:一個需要 10 天才能幹完的活,不可能讓 10 個人在 1 天干完!

看書名的第一眼,感覺不像是技術類的書籍。但是,就是這樣一個看似和程式設計不沾邊的書名,卻成了程式設計領域長久相傳的經典。

這本書對於現代軟體尤其是複雜軟體的開發的規範化有深刻的意義。

《領域驅動設計:軟體核心複雜性應對之道》

這本領域驅動設計方面的經典之作一直被各種推薦,但是我還來及讀。

軟體質量其他書籍推薦

  • 《程式碼的未來》 :這本書的作者是 Ruby 之父松本行弘,算是一本年代比較久遠的書籍(13 年出版),不過,還是非常值得一讀。這本書的內容主要介紹是程式設計/程式語言的本質。我個人還是比較喜歡松本行弘的文字風格,並且,你看他的文章也確實能夠有所收穫。
  • 《深入淺出設計模式》 : 比較有趣的風格,適合設計模式入門。
  • 《軟體架構設計:大型網站技術架構與業務架構融合之道》 : 內容非常全面。適合面試前突擊一些比較重要的理論知識,也適合拿來擴充/完善自己的技術廣度。
  • 《微服務架構設計模式》 :這本書是世界十大軟體架構師之一、微服務架構先驅 Chris Richardson 親筆撰寫,豆瓣評分 9.6。示例程式碼使用 Java 語言和 Spring 框架。幫助你設計、實現、測試和部署基於微服務的應用程式。

最後再推薦兩個相關的文件:

相關文章