此重构准备是一个不断循环的过程。 识别:发现已有系统哪些设计背离了整体的架构设计或者扩展性不强; 论证:对识别出的问题进行重构设计,需要反复论证、预研; 归类:哪些重构点可以综合在一起考虑去设计,有利于架构的完整性、统一性; 优先级:重构不能一步到位,梳理出依赖关系,在不同的迭代中进行重构; 过滤:包含很多方面。比如:重构方案若是涉及到新的技术、框架,学习门槛很高,那就要结合项目团队的技能情况进行评估,适当的过滤。再比如,基于重构所带来的收益考虑,是否值得,就需要商榷了。 《重构思路浅谈:最后一根稻草型时机》 重构,是软件开发过程中不可或缺的一环,旨在提升代码质量,改善系统架构,确保系统的可持续性和稳定性。本文将探讨一种特殊的重构时机——“最后一根稻草”型时机,以及重构的识别、论证、过滤等关键步骤。 “最后一根稻草”型时机通常发生在系统已经过度复杂,问题重重,但又无法避免新增需求的情况下。此时,系统的脆弱性已经到了极限,每一个新的需求都可能导致系统崩溃。这种情况下,重构不再是可选项,而是必需品,尽管其风险和成本较高。 在进行重构前,我们需要进行一系列准备工作。识别问题,寻找那些与整体架构相悖或者扩展性差的设计。这需要深入理解现有系统,找出其中的“坏味道”。论证重构方案,通过预研和讨论,确定最佳重构路径。接着,归类重构点,考虑如何整合,以保持架构的完整性和统一性。然后,设定优先级,分析各个重构任务之间的依赖关系,合理安排在不同迭代中的实施顺序。进行过滤,评估重构方案的技术难度、团队技能匹配度以及预期收益,以决定是否执行。 重构的范围应与迭代需求相结合,涉及研发、测试、验收等多个环节。在重构过程中,各方需充分沟通,明确重构范围所占资源,以确保重构的顺利进行。同时,明确重构目标,无论是提高研发效率,还是提升系统性能,都需要有一个清晰的指标来衡量重构的效果。 重构时机的选择至关重要。除了“最后一根稻草”型时机,还有“得过且过”型和“追新求快”型。前者是在代码尚可管理时主动重构,后者则是利用新技术解决旧问题。每种时机都有其适用场景,关键在于根据项目实际状况灵活把握。 在实践中,我们经常会遇到“已知变未知”和“熟悉的陌生人”两类问题。前者指基础问题因未及时处理而变得复杂,增加了重构的不确定性;后者是指开发者对常用API的内部机制缺乏理解,增加了潜在的风险。因此,我们应在每个版本中解决基础问题,提升对API的理解,以降低重构的风险。 重构是提升系统生命力的重要手段,而“最后一根稻草”型时机往往意味着重构的紧迫性。通过识别问题、论证方案、合理归类、设置优先级、过滤方案,以及恰当选择重构范围和时机,我们可以更有效地进行重构,实现系统的持续优化,为未来的业务发展奠定坚实基础。
- 粉丝: 40
- 资源: 48
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助