有个程序员把决策树写成了数据,同事看完想辞职。不是开玩笑,这操作直接把一千多行的条件判断压缩成三百行,还顺便治好了祖传代码的偏头痛。

事情是这样的。传统写法里,决策树越复杂,if-else就越像俄罗斯套娃——嵌到最后连作者自己都找不到出口。这位开发者干脆把规则扔进JSON,让代码只负责"读数据、执行",逻辑和实现彻底离婚。

「条件爆炸不是技术问题,是组织问题。」他在技术博客里这么写。翻译成人话:当你第50次复制粘贴else if的时候,问题已经从"怎么写"变成了"谁还记得这里埋过什么雷"。

具体做法其实有点反直觉。他把每个决策节点拆成{condition, action, next}的三元组,然后用一个通用引擎去遍历。新增规则?改JSON就行,不用碰主代码。测试覆盖率?直接从数据文件生成用例。

评论区有人贴了自己项目的对比图:重构前2.7万行,重构后800行数据+200行引擎。底下最高赞回复是:"我老板以为我加班了三周,其实我只干了三天。"