Contents
最近看到這篇文章, 裡面介紹的書都很經典.
10 Classic Books Every Serious Developer Should Read
作者Deepak Karanth是有12年經驗的Averda/Citybin/Ericsson/IBM等知名公司的首席架構師、顧問與軟體開發的輔導. 在這篇文章, 建議程式設計師需要讀的不只是code或網路上找的答案, 有些程式開發過程會遇到的問題多年來都類似, 且也有很棒的解決智慧. 這些多年來的智慧經典, 身為認真的程式設計師都不可錯過.
訂閱開源報報
🎈您有以下困擾?
- 時間繁忙,沒有時間仔細閱讀開源專案的介紹
- 被社群媒體演算法掌控,只會看到同溫層主題的開源專案分享
- 英文閱讀能力不好,又想要快速閱讀開源專案介紹
- …..
✨開源報報使用 Patron 訂閱平台,無廣告,周一到週五每天三篇中文開源專案報導
Become a Patron!以下一本本列出, 也列出中文譯本(找不到中譯本就只有英文原版).
The Pragmatic Programmer
![]() | ![]() |
這本書不只改變您coding的習慣, 也將改變寫程式的個性. 裡面有很實際的建議, 讓您與您的coding達到最佳境界. 且附手札、提點和清單.
這本書是Pragmatic Bookshelf的創始團隊還沒有成立出版前的經典作品. 當時由Addison Wesley出版. 所以紙本書版權不在Pragmatic Bookshelf. 不過Pragmatic Bookshelf在電子書有更新內容. Soft & Share
英文:
The Mythical Man-month: Essays on Software Engineering
這本書一直被奉為軟體工程界的聖經. 很多一針見血的”神話”在今天都變得更真實.
書中有許多經典, 如:
- 所有的程式設計師都很樂觀: 一切都會變好
- 專案延遲了加人力反而更延遲
- 懷孕9個月才能生產, 找10個女人一起生也是要花一樣的時間
- 兩分才能煎熟一個蛋, 兩分鐘沒到就想要的話, 你只有兩個選擇: 等或吃半熟的. 軟體也是一樣.
看了以上的經典名句, 是否會心一笑, 想到我們在軟體界常遇到的問題.
![]() |
![]() |
英文:
Clean Code: A Handbook of Agile Software Craftsmanship
此書不只告訴您如何寫好的程式碼, 也對如何開發和處理軟體提供有效的方法. 內容包含乾淨的程式碼的原則、模式和實踐方法, 也提供很寶貴的案例研究.
作者Deepak Karanth說雖然這裡多以Java為範例, 同樣可以應用到其他語言. 他說本文提及的10本書中, 這本是他最建議入門者一定要看的書.
![]() | ![]() |
英文:
The Clean Coder: A Code of Conduct for Professional Programmers
看過上一本Clean Code書後, 再來閱讀這本Clearn Coder. 天瓏書局很貼心地將這兩本綁一個package讓大家購買. 根據作者Deepak Karanth整理, 這本書探索了以下要點,大多數的程式設計師常常忽略:
- 怎樣才算是專業的程式設計師
- 如何讓自己成為軟體藝術家
- 如何去應對衝突與趕不上進度的問題
- 如何管理時間與精進技術
- 何時要說”NO”
- 如何避免累垮……
也許您不一定完全認同這本書的說法, 但至少看了這些會讓您去思考這些問題.
![]() | ![]() |
英文:
Refactoring: Improving the Design of Existing Code
不管您多努力,交出的編碼作品如果沒再做改善,都很難是最好的. 就算程式都運作正常, 也有可能需要重構. 什麼狀況下需要重構呢? 如何處理和管理呢? 此書帶您走過:
- 程式碼中聞到壞味道的指標
- 如何結構化classes、methods和其他邏輯片段
- 您寫的code要做unit tests
- 如何在features中挪移程式
- 重構的工具…
對於任何想要精進目前的編碼的程式設計師, 這本書非常有用. 雖然此書多以Java為範例, 但這不應該是您不看這本書的理由.
![]() | ![]() |
英文:
- 電子書 : Refactoring: Improving the Design of Existing Code
- 紙本書 : Refactoring: Improving the Design of Existing Code
中文: 重構─改善既有程式的設計, 2/e ( 已經絕版 )
Working Effectively with Legacy Cod
我們都有討厭的工作,尤其是要接手別人的代碼. 但在一個團隊這是不可避免的. 如何去修改這些留下的代碼? 哪些需要重構? 如何去解脫代碼的相依性來做重構? 怎麼知道新碼達到預想的功能? 重構遺留碼的一小步可以怎麼做? 此書解答很多這類的問題.
作者Deepak Karanth 以簡單幾句摘要:
寫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
![]() | ![]() |
英文:
中文: 修改代碼的藝術
Code Complete: A Practical Handbook of Software Construction
此書道盡了軟體開發的各種面向, 包含程式碼架構、格式、變數、方法、class命名道如何管理團隊都有實用的建議. 其附加的豐富參考和特別主題的資料也很值得閱讀. 很少人讀完這本書, 您可以是這少數的幾個人, 且讀完這本書將如武俠小說裡吃到天山雪蓮那樣增加數年開發經驗的功力.
![]() | ![]() |
英文:
Head First Design Patterns
這本書是看起來最不像技術書籍的程式書籍. 每一頁不是塗鴉、圖畫,不然就是一些吸引目光的東西. 也許剛翻一翻您以為可以當消遣書籍, 但其實此書討論到程式開發很核心的東西-設計模式-且對此主題有很不錯的探討. 此書並非包羅所有的模式, 不過對您實際開發時有可能遇到的問題和需要的模式做探討. 此說將幫助您寫出可運作、優雅、可重複使用且彈性的軟體. 此書也說明每種模式的權衡機制. 大多數設計模式的書都只書如何實踐, 但此書還告訴您為什麼和如何. 此書最新版有包含 Java 8-lambda方面的更新.
![]() | ![]() |
英文:
中文: 深入淺出設計模式
Peopleware: Productive Projects and Teams
此書很引人入勝, 不過不談程式開發本身, 而是談到如何管理程式開發人. 一般的開發者也應該讀讀, 尤其是比較沒經驗的開發者會常常不太知道上面管理者在想什麼. 當然, 希望自己的團隊能有好的Quality而不只是Quantity的軟體開發的經理人更需要讀這本書. 這本書分享經理人可以如何讓他的團隊的成員發揮潛力.
![]() | ![]() |
英文:
中文: Peopleware:腦力密集產業的人才管理之道(增訂版)
Soft Skills: The software developer’s life manual
此書和上本書一樣, 不談程式開發本身, 但仍很推薦程式設計者好好讀. 這是本如何管理的書, 關於我們的生活, 我們的職場生涯, 我們的身心,甚至心靈. 作者本身遵循他說的方法, 且做得很成功. 作者說他在30幾歲就可以不用上班. 此書分享有關如何行銷自己、學習、有生產力、理財、保持身體健康與修練精神層面. 此書分成許多小小章節, 每個章節很容易在喝杯咖啡的時間就讀完. 運用此書您將有更滿意與快樂的人生.
![]() | ![]() |
英文:
中文: 軟體技能代碼之外的生存指南
本文獲 Deepak Karanth 授權翻譯.
訂閱開源報報
🎈您有以下困擾?
- 時間繁忙,沒有時間仔細閱讀開源專案的介紹
- 被社群媒體演算法掌控,只會看到同溫層主題的開源專案分享
- 英文閱讀能力不好,又想要快速閱讀開源專案介紹
- …..
✨開源報報使用 Patron 訂閱平台,無廣告,周一到週五每天三篇中文開源專案報導
Become a Patron!