
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
代码重构是程序员在维护软件的时候会经常用到的一个方法,下面我们就通过案例分析来了解一下,代码重构常用方法都有哪些。
大爆炸式的重写
从头开始更改代码库,并在一次转换中切换所有用户。但是,完全重写是非常耗时的,而且必然也会产生相当巨大的成本。你也有可能终得到的是一款在几个月甚至几年内都不适合发布的应用程序,并且在这个过程结束之前,你都无法看到终结果。另外,应用程序越大,开发者在重写过程中提供维护和添加新功能的难度就越大。如果有文档和技术知识的话,向大型代码库添加新功能就像在公园里散步一样简单。若没有这些的话,要做到这些,真的很难。
凤凰涅槃
理想情况下,你不应该触及旧技术,而应该将所有新功能分离开来。但不幸的是,这样的原始结果相当罕见:新功能几乎总是需要与旧功能集成。这也需要一个详细的计划,因为事情很复杂,没有周密计划的话很难做好。在复杂的架构中创建新的组件,需要大量关于遗留应用程序中组件运行情况的信息。你需要一个广阔的视角,从新旧两个角度看待这项技术。
使用单体应用程序,你可以在单独部署的新代码库中创建新功能,同时使用与新代码和遗留代码交互的单个数据库来存储数据。这个解决方案看起来很简单,但它能否取得长期成功,要取决于你的承诺是否坚如磐石。由于原始代码库的长期脆弱性,特别是考虑到潜在的安全漏洞或bug,这种架构并不能持久。实际上,让过时的代码保持原样就意味着你在等待它终永远失败。
混合方法
重写整个代码库是一个极端的想法,而且往往考虑不周。在旧代码库上添加新功能更可行,但会带来严重的副作用,例如,如果你的遗留代码是基于较旧的框架版本,那么就会出现安全问题。那么,还有什么事情是你可以做的,而且不那么昂贵,或者不那么危险的?你还有其他选择吗?
这种渐进式方法将基于你的愿景,这一点至关重要。你需要知道先要改变什么:有些功能是核心的,对业务至关重要,而其他功能则更多的是扮演辅助角色。有了明确的目标,在多个层面上工作就会变得更容易。例如,你是否仍然计划在这个转换过程中发布一项新功能?如果是这样的话,你就需要在计划中考虑到这一点。如果没有清晰的路线图,你的代码终将会变得一团糟,这将会使开发者更难理解。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。