每個工程師應該閱讀的10本經典書籍

每個工程師應該閱讀的10本經典書籍

如果你是一個工程師,除了編碼之外,你還需要大量的閱讀。今天我要為大家介紹幾本值得一讀的書,包括《The Pragmatic Programmer》,《The Mythical Man-month: Essays on Software Engineering》和《Clean Code: A Handbook of Agile Software Craftsmanship》。

書籍是知識和智慧的重要來源。但不幸的是,現在很多人已經不願意看書了。工程師更是罕見地會去讀書,最常見的依靠互聯網搜尋結果來找尋答案。

技術向前的步伐比人類歷史上的任何時候都要走得更快。用不了幾個月,就會有新的編程語言和工具問世,彌補現有語言、工具和方法的缺陷。

事實上,許多偉人都已經遇到過差不多的問題,並指出了解決這些問題的最佳途徑。而這些方法和解決方案都收錄在一些超棒的書籍中。

下面就是在這個行業中開發人員應該閱讀的一系列偉大的書籍。

《The Pragmatic Programmer》

絕對是書籍中的瑰寶!這不是常規地建議你編碼,編碼還是編碼的編程書。事實上,它並不限定於某種特定的編程語言:在這本書中的智慧適用於所有編程語言。

每個工程師應該閱讀的10本經典書籍

這本書對許多有趣的領域都提出了真知灼見,如各種探索性編程,在代碼中編碼,從模型中分離的觀點,昂貴的工具並不產生更好的設計,開發一個偉大的團隊,管理預期,避免知識的重復等。

這本書不僅可以幫助改變編碼的習慣,還可以改變你作為一個工程師的性格。它充滿了關於如何改進自己和代碼的實用建議。

還有一個總結了提示和檢查清單的小冊子。

《The Mythical Man-month》: 關於軟體工程的散文集

非常經典,被奉為軟體行業的聖經。第一次出版於 1970 年,但是裡面的內容比起以前,可能更適用於現在!

每個工程師應該閱讀的10本經典書籍

有聽說過這些話嗎?它們均摘自於這本書!

「所有的工程師都是樂觀的:一切都會順利。」

「添加人手到一個延遲的項目中只會導致完成得更慢。」

「生一個孩子總是需要九個月的時間,不管安排多少個女性。」

「一個煎蛋,承諾在兩分鐘內完成,但如果兩分鐘後還是沒有準備好,那麼客戶有兩種選擇——等待或吃半熟品,軟體客戶也只能這樣選擇。」

不幸的是,一年又一年地過去,而我們總是在軟體開發中犯著相同的錯誤。這本書是每一個項目經理和開發人員都必須閱讀的。

正從標題中所說的那樣,這是一本散文集。文辭優美。這本書唯一的缺點就是引用了年邁 25 的古老技術。但是,這並不影響這本書的魅力。

《Clean Code》: 敏捷軟體工藝的手冊

有沒有在看他人代碼的過程中,不由自主地發出「哦,天哪,這是什麼?」的經歷,那麼這個人肯定沒有閱讀過《Clean Code》。

每個工程師應該閱讀的10本經典書籍

這是一本關於軟體工藝史詩般的書籍。這本書不僅會告訴你如何編寫好的代碼,而且還提供了軟體開發的高效途徑。照著去做的話,必將改變你的工作前景。

書中描述了編寫乾淨代碼的原則、模式和做法。裡面一些關於整潔代碼的幾個案例都是開發人員寶貴的經驗教訓。

請注意,雖然在這本書中的所有實例都是關於 Java 的,但是從中學到的經驗教訓可以應用於任意的編程語言。

這篇文章所列出的這些書籍中,這本書出版得比較晚,所以可能更能引起年輕開發人員的共鳴。

《The Clean Coder》:專業工程師的行為守則

此列表中 Rob Martin 的第二本書。建議你在讀了《Clean Code》後,再讀這本書。《Clean Code》講的是代碼,而這本書是關於「Coder」。

每個工程師應該閱讀的10本經典書籍

該書探討了一些工程師經常忽視的主題。

  • 成為專業的工程師意味著什麼?

  • 如何打磨自己成為一個真正的軟體工匠

  • 衝突和緊張的日程處理

  • 如何管理你的時間?如何擴張技能?

  • 何時說「不」

  • 避免倦怠

  • ..以及更多。

你可能並不總是同意作者的觀點,但它提供了良好的精神食糧。這可能並非你所期望的,但可能正是你所需要的。

《Refactoring》:改善已有代碼的設計

不管你怎麼努力,除非改進它,否則,你交付的代碼不會是最優化的。有時即使工作正常,也會實施重構。

每個工程師應該閱讀的10本經典書籍

這本書從重構的通用原則說起:為什麼以及什麼時候重構,如何處理有關重構的管理等等。然後講述了如何做到改進的過程。

  • 代碼的設計缺陷指標是什麼?

  • 如何構建類、方法和其他的邏輯塊?

  • 單元測試

  • 如何將功能從一個對象移動到另一個?

  • 重構工具

  • ..以及更多

這是改進現有代碼必讀的書。請注意,所有的代碼示例用的都是 Java,但現在復制起來也很方便!

《Working Effectively With Legacy Code》

我們都必須工作於一些我們痛恨的東西——對於大多數人而言,遺留代碼真是令人頭痛無比。

每個工程師應該閱讀的10本經典書籍

如何修改遺留代碼?如何識別需要重構的代碼部分?如何破壞重構代碼之間的依賴關係?如何確保新的代碼能完成預期的工作?如何一次一小步地重構遺留代碼?

在這本傑出的書中,只是回答了一些關鍵的問題。如果非要用一句話總結這本書的精華,那就是「寫單元測試,重構代碼,確保測試都通過。」

遺留代碼不是一個神話,它是一個活著的傳奇!在軟體行業中沒有什麼比遺留代碼更能經受測試的考驗了——Deepak Karanth

《Code Complete》:軟體構建的實用手冊

在一個龐大的作品中,如果你想要閱讀所有關於編程結構和最佳實踐的內容,那麼這是本必讀書。真正的百科全書式書籍——其最新版本有多達 960 頁!不要被這本書的厚度嚇倒,你可以按照自己的節奏閱讀。最後,你會慶幸你閱讀了這本書。

每個工程師應該閱讀的10本經典書籍

書中解釋了軟體開發的每個方面。從代碼結構,代碼格式化,到變量、方法和類的命名,再一路說到管理一個團隊,對所有一切都提出了實用的建議。

提供了覆蓋特定主題的豐富參考和補充材料,這些也非常值得一讀。

只有一小部分的軟體開發人員會讀這本書,所以如果你也是他們中的一個,那麼你就有了優勢。通過閱讀這本書,你就可以獲得許多年寶貴經驗。

《Head First Design Patterns》

看上去最不像技術的編程書籍!每個頁面都包含塗鴉、圖片以及其他一些吸引眼球的東西。可能給人的印象是一本閱讀起來很輕鬆的書,但事實上它會討論編程的一些核心主題——設計模式。

每個工程師應該閱讀的10本經典書籍

這本書雖然沒有覆蓋所有存在於這個世界的模式,但是會涵蓋所有你可能需要用於解決現實問題的模式。它將幫助你創建功能性的,優雅的,可重用的和靈活的軟體。每個模式的優劣也被明確指出。大多數關於設計模式的書籍談論的是如何做到模式,但這本書的作者同時還解釋了為什麼以及怎麼樣。

最新版本包括針對 Java 8 的更新——主要是 Lambda。

《Peopleware: Productive Projects and Teams》

很棒的一部作品。這本書並非關於編程。這是一本有關管理和激勵工程師的書籍。開發人員也應該閱讀。很多時候,開發人員,尤其是那些沒有經驗的開發人員,不理解管理的思維過程。

每個工程師應該閱讀的10本經典書籍

軟體開發是一個創造性的過程。但是,大多數管理人員把它當作是流水線。開發人員被視為是機器上可替換的齒輪零部件。管理人員普遍性地會給予一個緊迫的時間期限,當作促進積極性唯一途徑。他們對開發人員的工作不感興趣,甚至可悲的是,他們也不會試著去理解開發人員或他們自己的工藝。

如果你想成為一個想要的是質量,而不僅僅是數量的管理人員,那麼請立刻閱讀這本書!

作者解釋了管理者應該如何以一種可持續的方式使他們的軟體開發團隊認識到他們的潛力。

《Soft Skills: The Software Developer’s Life Manual》

同樣的,這也不是一本關於編程的書。但是,卻是每一個工程師都應該閱讀的書。

每個工程師應該閱讀的10本經典書籍

這本偉大的書著重於管理開發人員生活的「其他」方面。可以是你生活的每一個方面——事業、生活、身體、頭腦,以及不管你相信與否——還有靈魂。

作者他自己也遵循這些技術,並且獲得了成功。他的網站上說,他能夠在他 30 出頭的時候放棄他的日常工作。該作者將他的生活經驗整理成整齊的,主題內容為 Career、Marketing yourself、Learning、Productivity、Finances, Fitness 和 Spirit 的短章。每個篇章都很短,可以在休息時間閱讀,非常方便。

你會是一個更加滿意和快樂的人,如果你按照這本書的建議去做的話,那麼你將成為一個更令人滿意和幸福的人和工程師。

每個工程師應該閱讀的10本經典書籍

版權聲明:「並發編程網」所推送文章,除非確實無法確認,我們都會註明作者和來源。部分文章推送時未能與原作者取得聯繫。若涉及版權問題,煩請原作者聯繫我們,我們會在24小時內刪除處理,謝謝!^_^15701189222

每個工程師應該閱讀的10本經典書籍微信號:並發編程網
長按、關注
每個工程師應該閱讀的10本經典書籍每個工程師應該閱讀的10本經典書籍 

閱讀原文


關於作者:
促進並發編程的研究和傳播。歡迎大家投稿,推薦好文章,參與並發文章翻譯,提問。

微信號:ifeves