复杂度守恒

一哥的分享里一直有提到“复杂度守恒”,这个观点离我们越来越近了。有时候我们总以为自己多么能撕,减少了多少工作量,其实复杂度未必减少,只是它们转移到别的地方去了。这就是复杂度守恒,给我们的启示是看问题看得链路更长一点,长到开发之外,到业务、到人。

既然复杂度转移了,那到底应该在哪里去处理它们呢?一哥给出的回答是,把复杂逻辑放在最适合的地方做,总成本才是最低的。很多时候由于进度和成本原因,我们以“能用就行”做了一些临时处理方案,我们会发现一年前自己在代码里顺手写的 TODO 依然在那里。一哥早年有篇文章叫「金山银山 绿水青山」,讲垃圾治理与代码治理,给我们的启示是看问题要看得更长远些,不能只用进度来衡量。