《代码大全》读书笔记

重读 Steve McConnell 的《代码大全》(Code Complete),每次都有新的收获。这本 900 多页的大部头,是软件构建领域的经典之作。

核心观点

1. 软件构建是核心活动

很多项目把太多精力放在前期设计和后期测试上,忽视了构建(编码)阶段。实际上,构建是唯一产出最终产品的活动。

2. 先明确问题,再解决问题

"问题的定义是智识工作中最重要的部分。" —— 爱因斯坦

在写代码之前,先确保你在解决正确的问题。

3. 隐喻的力量

用恰当的隐喻理解软件开发:

隐喻 启示
写作 先写草稿,再修改
农耕 播种、培育、收获,不能跳过阶段
建筑 先打地基,再建上层

实用技巧

命名

  • 名字应该描述"是什么",而不是"怎么做"
  • 避免缩写(除非是广泛认可的)
  • 布尔变量用 is、has、can 前缀

函数

  • 一个函数只做一件事
  • 函数长度不超过一屏(约 200 行)
  • 参数不超过 7 个

错误处理

  • 用异常替代返回错误码
  • 在合适的层次处理错误
  • 不要让异常破坏数据

总结

这本书不是教你某种语言或框架,而是教你如何写好代码。无论技术如何变化,这些基本原则不会过时。

书籍