返回首页
读书笔记 3 分钟阅读

《程序员修炼之道》读书笔记:从工匠到大师

Andrew Hunt 和 David Thomas 的经典之作,传授务实的编程哲学、工具使用技巧和职业成长之道。

🛠️

关于本书

《程序员修炼之道》是编程领域的经典书籍,已经影响了无数开发者。它不教你具体语言,而是教你如何成为一名 务实的程序员

核心哲学

我的源码被猫吃了

“提供选择,别找借口。”

务实的程序员承担责任。当出问题时:

  • 不要说 “这不是我的代码”
  • 不要说 “在我的机器上能运行”
  • 应该说 “我来调查这个问题”

软件的熵

“破窗理论:一扇破窗如果不修,就会有更多窗户被打破。”

代码中的”破窗”包括:

  • 糟糕的设计
  • 错误的决策
  • 低劣的修复
  • 临时的补丁

发现破窗就立刻修复。 不要留待”以后”。

石头汤与煮青蛙

“做变化的催化剂,而不是变化的受害者。”

不要等完美方案。先做一个原型,展示价值,然后让它成长——就像石头汤的故事。

务实的技巧

DRY 原则

“Don’t Repeat Yourself” — 知识的唯一表示

// ❌ 重复
function getUserFullName(user) {
  return user.firstName + ' ' + user.lastName;
}
function getAdminDisplayName(admin) {
  return admin.firstName + ' ' + admin.lastName;
}

// ✅ DRY
function getFullName(person: { firstName: string; lastName: string }) {
  return `${person.firstName} ${person.lastName}`;
}

正交性

“消除不相关事物之间的影响。”

正交的系统:

  • 每个组件独立变化
  • 修改一处不影响其他
  • 易于测试和组合

曳光弹

“用曳光弹找到目标,而不是猜测。”

先构建一个端到端的薄切片,验证架构可行,再逐步充实。

端到端 → 数据库 → API → UI
     ↑ 可以运行的最小原型

命令行美学

一个编辑器

精通一个编辑器,让它成为你的延伸。无论是 Vim、Emacs 还是 VS Code:

  • 学习所有快捷键
  • 自定义配置
  • 安装高效插件

纯文本

“知识的持久存储格式是纯文本。”

  • 配置文件用 YAML/TOML,不用二进制
  • 文档用 Markdown
  • 数据交换用 JSON

版本控制

“总是使用版本控制,即使你的项目很小。”

职业成长

定期投资知识组合

像投资者管理投资组合一样管理你的知识:

  1. 每年学习一门新语言 — 拓展思维模式
  2. 每季度读一本技术书 — 深度学习
  3. 参与技术社区 — 开源贡献、技术分享
  4. 实验不同平台 — 不要只在一个生态中

沟通技巧

“除非你交流,否则好主意就是无用的。”

  • 了解你的听众 — 用他们能理解的语言
  • 知道何时停止 — 不要过度解释
  • 构建文档原型 — 先写下来再修改

我的感悟

读完这本书,最深刻的三个收获:

  1. 责任心 — 代码是我的作品,我要为它负责
  2. 工具意识 — 好工具能成倍提升效率
  3. 持续学习 — 技术在变,但思维方式是持久的

总结

务实的程序员:

  • 关心代码质量 — 像工匠对待作品
  • 善用工具 — 让工具为自己服务
  • 承担责任 — 不找借口,提供方案
  • 持续成长 — 永远在学习

“这是一个不可思议的职业:我们可以用纯粹的思想创造事物。”

相关文章