这篇文章基于最近在团队内做了一次分享,并做了一些简单修改,仅供各位网友参考,观点不一定成熟,但都是结合实际问题的一些反思与总结,欢迎讨论。
在软件的整个生命周期中,80%以上的时间是在维护软件,这也是开发者每天面临的最主要的工作。如果对代码的变更没有“章法”,随着时间流逝,软件就会不可避免地渐渐变得复杂、难以理解,最终拖慢产品迭代效率,甚至频繁引入线上故障,导致业务损失。
对于这个主题,Working Effectively with Legacy Code 和 Refactoring Improving the Design of Existing Code 给出了很多具体的做法,本文不会一一介绍。本文主要分为两部分:
- 第一部分主要介绍软件的变更机制以及应对变更的策略,并着重介绍安全变更的重要保障——单元测试;
- 第二部以通过一个案例解释如何进行安全重构;