日常手法 — 从曳光弹到橡皮鸭
这一章讲五件事: 曳光弹与原型怎么分工;为什么一次只做一件事; 橡皮鸭为什么好使;三大美德怎么翻译成日常动作;以及打断的代价。 主走查:同一个「 配送中心软件」,原型路线与曳光弹路线各走一遍。
1. 曳光弹:先打通一条会发光的弹道
这一节回答:项目早期最贵的未知数是「整体能不能转起来」——怎么用最小代价把它点亮。
曳光弹(tracer ammunition)借自机枪战术:弹链上每隔几发混装一发会发光的子弹, 射手靠它的光轨修正瞄准——曳光弹和普通子弹同枪同环境发射,它打得中, 意味着普通子弹也打得中1。
编程里的曳光弹:先写一条「从输入到输出」端到端(从入口一直到出口、全程贯通)能跑通的骨架, 代码都是正式代码,后续开发不断往里添肉,骨架最终留在成品里2。 书里列的收益,每一条都指向同一个机制——尽早获得真实反馈3: 用户看到能跑的东西才给得出有用的意见;程序员有了发挥的舞台; 测试与调试有了整合平台(当天测完的代码当天合入,影响范围小); 利益相关者随时能看演示;进度以用例为单位,报告不含水分。