重构看不见?那就试着弄坏机器
你为一次重构付了钱。机械臂走的还是原来的轨迹,界面看起来一模一样。工程师说“架构更干净了,代码更安全了”。可在你看来,什么都没变。这钱是不是白花了?只要你是做设备的,迟早会遇到这个问题,而且你完全有理由这么问。这篇笔记是我的回答,因为把看不见的工作变成能感受到的,本来就是我提供的服务的一部分。
好的深层工作,在顺利的日子里就是看不见的
重构不会多出新动作,也不会多出按钮。它的成果是那些没发生的事故:传感器掉线时没有撞机,工件没有被做废,停机的那一小时没有出现。你花钱买的不是一切正常时的新功能,而是出问题时机器的表现,而故障从来不会出现在演示脚本里。
别读代码,去弄坏机器
所以当我交付深层工作时,我不会请你审查代码。我会递给你一份“弄坏机器”的清单,由你亲手去跑:
- **运行中拔掉一个传感器,或者把它挡住。**机器必须立即、平稳地安全停机,并给出一条说清楚发生了什么的报错。不能卡死,不能乱猜,更不能继续动。
- **放一个超出范围的工件进去。**系统必须直接拒绝启动。机器在搞不清自己拿着什么的时候,绝不应该动。
- **让它等一个永远不会到来的信号。**它必须在几秒内超时并上报,而不是永远挂在那里死等。
当你把能想到的办法都试过,机器每次都能安全停下,你就“看见”了这次重构。钱就花在这里:不是让代码更好看,而是让机器再也没法伤到它自己、工件,或者站在旁边的人。
你自己的工程师改得动,是证据,不是反驳
“我们现场工程师自己就改了工具参数、重命名了点位,那这次重构到底买到了什么?”答案和这个问题的潜台词正好相反。现场配置能轻松改进去,又不碰核心,这正说明底层拆分得好。以前,这样一个小调整意味着在一团纠缠的逻辑里改代码,然后祈祷别出事;现在它放进的是架构特意预留的参数位置。底层架构和日常调整不是对立的,一个是房子,一个是家具。
有一条规矩让这一切保持诚实:所有现场改动都要回流,统一合并进唯一一条干净的主线。车间里不留渐行渐远的分叉副本,也不留只有一个人看得懂的黑盒。
这换来什么
三点好处,都和生意有关。你可以当着自己客户的面做破坏性演示:当场挡住传感器、放一个不对的工件,让机器证明它不会被糊弄。这种底气比任何宣传册都管用。售后也会清净很多,因为操作工真正会犯的错在源头就被拦住了,不会变成保修纠纷。下一款型号也只是在同一套底层上加配置,不用推倒重来。
签字前的验货清单
如果你正要为一次“看不见”的重构签字验收,把下面四件事要过来,亲眼看它们发生:
- **破坏就停机。**切断一路传感器信号,系统安全停下,报错清楚。
- **超范围就拒绝。**输入超出范围的工件参数,系统拒绝启动。
- **只有一条主线。**所有现场修改都已合并回唯一的标准版本,没有分叉。
- **留有余地。**配置页面给下一种尺寸、下一种工具、下一个型号都预留了位置。
“试着弄坏它”式的验收,是我交付看不见的工作时的标准做法,来自真实的工业实践。文中内容都做了一般化处理:不描述任何具体的客户、机器或工艺,也没有任何我没实测过的数字。
相关笔记:这些安全停机背后的设计方法,见工业可靠性:换掉分母;同样的信任逻辑放到整个项目上,见每个里程碑,一封邮件。