当重写一个应用,需要衡量投入和产出的比值,重写需要投入多少成本,重写成功后的收益是什么。综合起来,主要考虑以下几个方面的问题:
- 更高的工作效率:旧系统需要很多天才能完成的功能,新系统可能需要1天就能很好的完成
- 更好用户体验:用户体验是当前系统的重大问题,如果再不采取行动,就会影响到业务开展,同时目前没有替代方案或者替代方案收益覆盖不了成本
- 更高的性能:旧的应用需要3秒钟才能相应,新系统只需要0.5秒
- 过时的依赖或技术:过时的框架,已经缺少适合的开发人员进行维护
- 更好的技术:原来需要100行代码的功能,新系统只需要10行代码
- 旧代码无法维护:旧代码所依赖的技术基础已经被淘汰,可能存在已知的安全风险,并且无法修复,这时候需要考虑重写,和难以维护需要区别开来,难以维护是主要代码的可读性、条理、风格等难以维护,通过重构即可解决。