应用程序重构是重写应用程序的一个或多个组件,通常是为了利用公共云服务。这还可能涉及将传统应用程序从传统的3层应用程序设计重构为基于微服务的精细应用程序。通常,新组件(例如用现代AWSAurora替换旧的Oracle数据库)通常是重构云应用程序的一部分。
重构过程还可能涉及新的语言和工具,利用API在服务之间进行通信,并通过从解释语言转向编译语言来提高性能。应用程序重构对于延长应用程序的生命周期、提高其性能、添加所需的新功能、增强安全性或添加对iOS和Android等移动平台的支持很有用,这可以通过这些新平台的应用商店扩大应用程序的覆盖范围.
开发人员通常会采用应用程序重构方法来增加代码的模块化,同时使代码更易于阅读、更新和维护。作为创建模块化代码的附带好处,这些代码模块可以在其他应用程序中使用,可以直接合并或作为云原生应用程序的一部分,该应用程序利用微服务和API将多个模块拼接在一起。
为什么应用程序重构很重要?
重构可以持续改进业务应用程序逻辑,使代码更易于使用和修改。这使代码能够随着时间的推移而发展,并使组织能够逐步实现提高代码性能或可维护性的功能或技术。
可以定期添加更新或新功能,而不是一次性添加,从而在发布全新的生产代码之前实现持续交付和回归测试。随着时间的推移,重构的应用程序会经历错误修复,通过用户反馈得到改进,并针对企业应用程序环境的其余部分进行全面测试。
组织重构应用程序以满足许多目标,包括:
应用程序重构如何工作?
重构利用底层业务流程逻辑来修复设计模型、数据库利用、编码技术或已编码的逻辑错误。重构是通过使现有代码更易读、更易于理解和更简单来改进现有代码的方法。此过程有助于随着时间的推移添加新功能,并增强定位和修复错误或错误的能力。
通过这种方式,重构可以修复糟糕的初始设计,简化应用程序的平台重构,而无需改变应用程序与其他应用程序、用户或数据库交互的方式。
应用程序重构可以在三个广泛的领域进行:

应用程序重构的局限性是什么
重构时间——在所需的目标云平台上重新设计、重新编码、重新架构和重新部署每个应用程序工作负载所花费的时间可能很长
未知的应用程序依赖关系——在重构过程中可能会突然发现应用程序之间未记录的依赖关系。这些依赖关系可能会产生大量额外的工作,甚至会导致重构项目失败。
学习曲线——在重构过程开始时可能会有一个陡峭的学习曲线,这可能会导致项目早期出现编码错误,因为团队会加快使用新工具、语言和平台的速度。
意外错误——任何重大的应用程序更改都可能导致引入新错误。
范围蔓延——即使是最好的重构计划最终也会遇到项目超出原始范围的情况。这可能会导致额外的延迟。
优先级中断——当紧急情况发生或新项目被优先考虑时,负责重构的员工可能会被要求处理其他优先级更高的项目,从而导致延误。
此外,在某些情况下,重构不是解决应用程序问题的可行解决方案,并且在某些情况下应该避免重构,包括:
尽管重构可以提高性能,但修复基本架构的潜在问题可能并不容易,而且由于应用程序仍应执行设计的功能,因此必须进行广泛的测试以确保没有任何功能损坏。由于应用程序重构涉及使用新旧技术堆栈,因此可能很难找到希望从事重构项目的开发人员。
什么时候应该选择应用程序重构?
当需要提高现有代码的可读性、功能或可扩展性时,应该选择重构。当需要对应用程序进行平台重构时,也应该考虑它是在新的基础架构上工作、使用新的存储API还是类似的变化。
重构假定了解代码当前的运行方式。在开始任何代码修改之前,开发人员应该审查代码以了解其流程和方法,不仅包括代码的作用,还包括它的工作原理。
不要将重构视为调试。重构的主要目标不是修复错误,而是修复被称为代码异味的设计或实现问题,例如冗余或冗长且复杂的代码段。
同样重要的是要记住,重构不仅是关于新特性和功能,而且是为了使代码更简洁、更容易修改、更高效、性能更好。
重构应该是实用的,并且应该有助于使整个企业的编码实践保持一致,例如通过标准化变量命名约定或利用可重用的代码段或外部API,而不是在需要特定功能的每个程序中重写相同的功能。
开发团队应该认识到重构通常是一个持续的过程,而不是对单个程序缺点的一次性响应。出于这个原因,在流程的早期有一套明确的目标可以帮助防止项目蔓延,并使开发和DevOps团队专注于提高性能或可移植性,而不会对功能产生负面影响。
因此,重构有助于解决经常渗透到内部开发应用程序中的问题,即代码或功能的重复。重复代码——无论是在单个应用程序中还是在多个企业应用程序之间——增加了应用程序的内存和存储空间,通常会占用资源。重复可能要求在许多其他应用程序中响应功能的更改,从而产生大量额外工作,因为有问题的例程位于每个应用程序中并进行改进或更正。代码的重复数据删除降低了复杂性,简化了测试,并使问题的调试和修复顺利进行。
本文来源:国外服务器--什么是应用程序重构(什么是应用程序重构过程)
本文地址:https://www.idcbaba.com/guowai/4200.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



