Please enable Javascript to view the contents

《The Pragmatic Programmer》——程序员必读的经典

 ·  ☕ 3 分钟  ·  🪶 VictorHong · 👀... 阅读

一句话总结

好程序员写代码,优秀程序员解决问题,卓越的程序员懂得让工具为自己工作。


为什么读这本书

《The Pragmatic Programmer》出版于1999年,作者是 Andrew Hunt 和 David Thomas。二十多年过去,书中提到的具体技术或许已经过时,但核心思想依然历久弥新。

这本书不是教你怎么写 Java、Python 或者 JavaScript。它教你的是思维方式——如何成为一个更高效、更专业、更有价值的开发者。


核心观点

1. DRY 原则

Don’t Repeat Yourself.

系统中的每一项知识都必须具有单一、无歧义、权威的表示。

重复是万恶之源。不只是代码重复,还包括文档重复、配置重复、逻辑重复。一旦发现重复,就应该提取、抽象、复用。

2. 破窗理论

Don’t live with broken windows.

不要容忍破窗户。看到糟糕的代码就修复它,否则它会迅速蔓延。

一个项目里有一段烂代码没人管,很快就会有第二段、第三段。最后整个代码库都变成屎山,没人愿意碰。

3. 你的知识资产

Invest regularly in your knowledge portfolio.

你的知识资产就像金融投资一样,需要定期投入和复利增长。

  • 每年学习一门新语言
  • 每季度读一本技术书籍
  • 每月参加一次技术分享
  • 每天写代码、读代码

4. 早测试,常测试,自动测试

Test early. Test often. Test automatically.

测试不是开发完成后的「额外工作」,而是开发过程的一部分。自动化测试是你的安全网,让你敢于重构、敢于改进。

5. 让工具为你工作

Let the computer do the boring bits.

程序员的时间很宝贵。任何重复性的工作都应该自动化:

  • 用脚本代替手动操作
  • 用 IDE 快捷键代替鼠标点击
  • 用 CI/CD 代替手动部署
  • 用代码生成器代替手写样板代码

可实践的建议

读完这本书,我给自己定了三个行动项:

本周:自动化一个重复性任务

选一个你每周都要做的重复性任务,用脚本自动化它。哪怕是简单的文件整理、日志分析、数据备份。

我的选择:写了一个脚本自动整理下载文件夹,按文件类型分类归档。

下次写代码前:问自己三个问题

  1. 这段代码6个月后我还能看懂吗?
  2. 如果需求变了,这段代码容易修改吗?
  3. 有没有重复的逻辑可以提取?

建立个人知识库

把学到的技巧、踩过的坑记录成可检索的笔记。不要依赖记忆,记忆会骗人。

推荐工具:Obsidian、Notion、或者简单的 Markdown 文件 + Git。


适合谁读

人群 推荐理由
初级程序员 建立正确的编程思维,少走弯路
中级程序员 系统化你的经验,提升工程素养
高级程序员 重新审视自己的习惯,找出盲点
技术管理者 理解什么是「好的代码」和「好的团队」

金句摘录

「好程序员写代码,优秀程序员解决问题,卓越的程序员懂得让工具为自己工作。」

「DRY原则:系统中的每一项知识都必须具有单一、无歧义、权威的表示。」

「不要容忍破窗户。看到糟糕的代码就修复它,否则它会迅速蔓延。」

「尽早测试,经常测试,自动测试。」

「你的知识资产就像金融投资一样,需要定期投入和复利增长。」


结语

这本书我读了两遍。第一遍是刚工作那会儿,似懂非懂。第二遍是五年后,每章都有「啊,原来如此」的顿悟。

技术会过时,但好的思维方式不会。如果你只能读一本关于「如何成为更好的程序员」的书,读这本。


评分:⭐⭐⭐⭐⭐(9.1/10)

  • 作者:Andrew Hunt & David Thomas
  • 出版年份:1999(20周年纪念版:2019)
  • 页数:352
  • 推荐阅读方式:精读 + 做笔记 + 实践

VictorHong
作者
VictorHong
🔩工具控,⌨️ 后端程序员,🧪AI 探索者