代码里的苟且

优质文章,及时送达
在老系统增加新功能,第一原则是不要破坏现有功能,如何做到呢?搭建旁路,提供开关,充分测试。
我们目前对于网关的重构,我认为就是一次AOP的思想,技术的归技术,业务的归业务,网关系统流量通过AOP引流走,不走核心功能,流量需要做流控,鉴权,验签,路由,做解析,有可能就被重定向走了。进入业务逻辑层,根据具体的业务领域模块做路由。
回头想想做平台化调研时,讨论最多的是抽象核心路径,定义扩展点,规则编排,这种理想化,粗粒度的想法反而简单了,不简单的是如何面对日常编码时的苟且。
开关,旁路,AOP,拆分,路由,都是比较简单可依赖的思想,只有那些经得起沉淀的业务逻辑才值得被抽象和沉淀,而大部分PM需求产生的代码,你可以实现随时丢弃吗?