目录前言 1规则的起源 7规则的变通 11规则1 尽量简化,但不要简化得太过分 15规则2 别让bug 蔓延 33规则3 良好的名称是最佳的文档 53规则4 必须有三个用例才能泛化 69规则5 头一条优化原则就是不要优化 89插曲:有人批评上一条规则了 107规则6 代码审查有三个好处 111规则7 消除可能出现故障的情况 119规则8 运行不到的代码,是不管用的 143规则9 编写可折叠的代码 159规则10 把复杂的东西控制起来 181规则11 决定重做之前,先想想这能不能比原来好一倍 201规则12 大型团队需要有严格的约定 211规则13 找出引发崩溃的根源 225规则14 学会辨别代码的四种风味 245规则15 给代码除草 263规则16 从想要的结果出发倒着推,而不要从现有的代码出发正着推 271规则17 大问题有时更容易解决 299规则18 让代码自己说话 315规则19 通过一套平行的系统来修改项目 327规则20 先把账算清 355规则21 有的时候,你就是得搬砖 369结语:自己掌握规则 379附录A 写给Python 程序员的C 指南 383附录B 写给JavaScript 程序员的C 指南 405