最近看到這篇文章, 裡面介紹的書都很經典.

10 Classic Books Every Serious Developer Should Read

作者是有12年經驗的Averda/Citybin/Ericsson/IBM等知名公司的首席架構師、顧問與軟體開發的輔導. 在這篇文章, 建議程式設計師需要讀的不只是code或網路上找的答案, 有些程式開發過程會遇到的問題多年來都類似, 且也有很棒的解決智慧. 這些多年來的智慧經典, 身為認真的程式設計師都不可錯過.

以下一本本列出, 也列出中文譯本(找不到中譯本就只有英文原版).

The Pragmatic Programmer

這本書不只改變您coding的習慣, 也將改變寫程式的個性. 裡面有很實際的建議, 讓您與您的coding達到最佳境界. 且附手札、提點和清單.
q  getImage

這本書是Pragmatic Bookshelf的創始團隊還沒有成立出版前的經典作品.  當時由Addison Wesley出版.  所以紙本書版權不在Pragmatic Bookshelf.  不過Pragmatic Bookshelf在電子書有更新內容. Soft & Share

英文:  The Pragmatic Programmer-From Journeyman to Master
中文: 程序員修煉之道︰從小工到專家︰評注版

The Mythical Man-month: Essays on Software Engineering


這本書一直被奉為軟體工程界的聖經.  很多一針見血的"神話"在今天都變得更真實.
書中有許多經典, 如:

  • 所有的程式設計師都很樂觀: 一切都會變好
  • 專案延遲了加人力反而更延遲
  • 懷孕9個月才能生產, 找10個女人一起生也是要花一樣的時間
  • 兩分才能煎熟一個蛋, 兩分鐘沒到就想要的話, 你只有兩個選擇: 等或吃半熟的.  軟體也是一樣.

看了以上的經典名句, 是否會心一笑, 想到我們在軟體界常遇到的問題.

mythical getImage

英文: The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition)
中文: 人月神話:軟體專案管理之道(20週年)

參加人月神話網路讀書會

Clean Code: A Handbook of Agile Software Craftsmanship

此書不只告訴您如何寫好的程式碼, 也對如何開發和處理軟體提供有效的方法. 內容包含乾淨的程式碼的原則、模式和實踐方法, 也提供很寶貴的案例研究.
作者說雖然這裡多以Java為範例, 同樣可以應用到其他語言. 他說本文提及的10本書中, 這本是他最建議入門者一定要看的書.

cleancode         天瓏CleanCode
英文: Clean Code: A Handbook of Agile Software Craftsmanship
中文: 無瑕的程式碼-敏捷軟體開發技巧守則

The Clean Coder: A Code of Conduct for Professional Programmers

看過上一本Clean Code書後, 再來閱讀這本Clearn Coder. 天瓏書局很貼心地將這兩本綁一個package讓大家購買. 根據作者整理, 這本書探索了以下要點,大多數的程式設計師常常忽略:

  • 怎樣才算是專業的程式設計師
  • 如何讓自己成為軟體藝術家
  • 如何去應對衝突與趕不上進度的問題
  • 如何管理時間與精進技術
  • 何時要說"NO"
  • 如何避免累垮……

也許您不一定完全認同這本書的說法, 但至少看了這些會讓您去思考這些問題.

cleancoder        天瓏cleancoder
英文: The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series)
中文:  無瑕的程式碼番外篇-專業程式設計師的生存之道

Refactoring: Improving the Design of Existing Code

不管您多努力,交出的編碼作品如果沒再做改善,都很難是最好的. 就算程式都運作正常, 也有可能需要重構.  什麼狀況下需要重構呢? 如何處理和管理呢? 此書帶您走過:

  • 程式碼中聞到壞味道的指標
  • 如何結構化classes、methods和其他邏輯片段
  • 您寫的code要做unit tests
  • 如何在features中挪移程式
  • 重構的工具…

對於任何想要精進目前的編碼的程式設計師, 這本書非常有用.  雖然此書多以Java為範例, 但這不應該是您不看這本書的理由.

refatoring        ­«ºc-COVER
英文: Refactoring: Improving the Design of Existing Code
中文: 重構─改善既有程式的設計, 2/e

Working Effectively with Legacy Cod

我們都有討厭的工作,尤其是要接手別人的代碼.  但在一個團隊這是不可避免的.  如何去修改這些留下的代碼? 哪些需要重構? 如何去解脫代碼的相依性來做重構? 怎麼知道新碼達到預想的功能? 重構遺留碼的一小步可以怎麼做?  此書解答很多這類的問題.

作者 以簡單幾句摘要:
寫unit tests, 重構程式碼, 確認測試都通過
Legacy code is not a myth, it is a living legend! Nothing in the software industry has survived the test of times better than Legacy code. – Deepak Karanth

legacycode          代碼
英文: Working Effectively with Legacy Code
中文: 修改代碼的藝術

Code Complete: A Practical Handbook of Software Construction

此書道盡了軟體開發的各種面向, 包含程式碼架構、格式、變數、方法、class命名道如何管理團隊都有實用的建議.  其附加的豐富參考和特別主題的資料也很值得閱讀.  很少人讀完這本書, 您可以是這少數的幾個人, 且讀完這本書將如武俠小說裡吃到天山雪蓮那樣增加數年開發經驗的功力.

cc      cc-china

英文: Code Complete: A Practical Handbook of Software Construction, Second Edition
中文: 代碼大全 2

Head First Design Patterns

這本書是看起來最不像技術書籍的程式書籍. 每一頁不是塗鴉、圖畫,不然就是一些吸引目光的東西.  也許剛翻一翻您以為可以當消遣書籍, 但其實此書討論到程式開發很核心的東西-設計模式-且對此主題有很不錯的探討.  此書並非包羅所有的模式, 不過對您實際開發時有可能遇到的問題和需要的模式做探討. 此說將幫助您寫出可運作、優雅、可重複使用且彈性的軟體.  此書也說明每種模式的權衡機制.  大多數設計模式的書都只書如何實踐, 但此書還告訴您為什麼和如何.  此書最新版有包含 Java 8-lambda方面的更新.

design     design-c

英文: Head First Design Patterns
中文:  深入淺出設計模式 

Peopleware: Productive Projects and Teams

此書很引人入勝, 不過不談程式開發本身, 而是談到如何管理程式開發人. 一般的開發者也應該讀讀, 尤其是比較沒經驗的開發者會常常不太知道上面管理者在想什麼.  當然, 希望自己的團隊能有好的Quality而不只是Quantity的軟體開發的經理人更需要讀這本書.  這本書分享經理人可以如何讓他的團隊的成員發揮潛力.

peopleware         peopleware-c
英文:  Peopleware: Productive Projects and Teams (3rd Edition)
中文:  Peopleware:腦力密集產業的人才管理之道(增訂版) 

Soft Skills: The software developer’s life manual

此書和上本書一樣, 不談程式開發本身, 但仍很推薦程式設計者好好讀. 這是本如何管理的書, 關於我們的生活, 我們的職場生涯, 我們的身心,甚至心靈.  作者本身遵循他說的方法, 且做得很成功. 作者說他在30幾歲就可以不用上班.  此書分享有關如何行銷自己、學習、有生產力、理財、保持身體健康與修練精神層面. 此書分成許多小小章節, 每個章節很容易在喝杯咖啡的時間就讀完.  運用此書您將有更滿意與快樂的人生.

softskill
Soft Skills: The software developer’s life manual

本文獲  授權翻譯.

你可能會有興趣

  • The Effective Engineer – 軟體工程師要如何做將自己的影響力發揮到最大? 由前 Google 工程師 Edmond 來告訴你,Edmond 過面試超過 500 位在矽谷頂尖科技公司上過班的工程師,並以他在矽谷 7 年的工作經驗累積成這本書。

喜歡我們的分享嗎? 記得使用以下社群分享按鈕分享給您的社群朋友吧!

 

Join the conversation! 2 Comments

  1. […] 來源: 每位認真的程式設計師都要讀的10本經典書 – Soft & Share […]

    喜歡

    回應
  2. […] 每位認真的程式設計師都要讀的10本經典書 好書推薦, 小編最喜歡的是最後一本, 這是本如何管理的書, 關於程式人的生活, 程式人的職場生涯, 程式人的身心,甚至心靈. 作者本身遵循他說的方法, 且做得很成功. 作者說他在30幾歲就可以不用上班 […]

    喜歡

    回應

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

分類

好書推薦, 人生與成長