- 重构的目标可以量化,或者说可以测试吗?
- 重构完成的标准是什么?得到业务部门或者领导的认可了吗?
3.3 渐进式重构
现在软件研发最流行的就是快速迭代、持续交付、尽早反馈。这同样可以用在架构的重构上,重构过程的难度不亚
于构建一个新产品,所以在设计重构的时候,要引入持续交付的流程,每一个重构步骤或者模块都要快速部署并得到反馈,以便评估重构的效果,及时作出策略调整。经过谨慎测试之后,将数据和业务迁移过去。检查清单:
- 能否把重构过程分成小的迭代,每一次改进都能尽快得到反馈?
- 重构过程中的效果能够定期展示给业务部门或者领导吗?
3.4 确定当前的架构状态
在启动重构之前,团队要对当前的架构状态有清晰的了解,也就是设定好基准,以便评估重构的效果。据我的观察,负责重构的架构师或者开发者,往往还没有搞清楚现有的架构设计,就开始重构了,结果经常出现这样的情况:重构到某个阶段,发现行不通,然后一拍脑袋说,哦,原来这块的架构是这个样的,是为了达到某某业务需求啊,这块不能动,得想别的办法。类似的例子在研发团队中时有发生,也提醒我们要慎重小心。检查清单:
- 你了解当前的架构设计吗?它的设计初衷和之前的选型方案知道吗?
- 你能给架构设定一个基准状