用途:适用于任何一眼看不完的非平凡变更,在进入设计或编码前先按固定顺序过一遍,减少做无用功。该顺序源自 Elon Musk 的五步工程流程,顺序本身就是原则。
主要能力(五步,按序执行):
- 让需求变得不那么蠢:默认需求可能有误,把它改得更对。需求来自具体的人而非部门,“工单”“lint 规则”“评审者”“旧代码就这么做”只是来源不是理由;找到提出者及其推理,不同意推理就不要接受该需求,说“不”也是有效结果。
- 删除部件或流程步骤:在进入第 3 步前,尽力整体删掉部件、开关、层级、重试或步骤。优化本不该存在的东西是聪明人最常犯的错误。如果从未把任何东西加回来,说明删得还不够。
- 优化幸存下来的部分:这是第三步而非第一步。让一个部件承担多项职责,而不是为每个调用方并行复制一份;重点看所有者与层级之间的边界,尤其是包装套包装的地方。
- 加速:亲自把一个变更走完编辑、构建、检查、评审全过程,记录在哪里等待、慢爬或来回反弹,然后收紧该环节。
- 最后再自动化:否则会自动化本不该存在的东西。仅凭数量不足以成为理由,精度与可评审性才是。自动化运行在幸存下来的部分之上。
再次运行:这不是一次性闸门。交付前对结果再跑一遍,第二遍会删掉更多。
判断是否真正使用:引用该原则时应能指出被改得更合理的需求、需求归属者,以及你删掉了什么;两者都没有,说明跳过了。
限制:资料未提供具体工具支持、安装方式、收费或价格信息。