V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Micropaper
V2EX  ›  程序员

一分钟读论文:《30 年软件重构研究:系统性文献综述》

  •  
  •   Micropaper ·
    unbug · 2023-01-29 08:56:00 +08:00 · 1191 次点击
    这是一个创建于 668 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如何评估重构的收益? IEEE 软件工程期刊登的论文《 30 Years of Software Refactoring Research: A Systematic Literature Review 》分析了过去30 年 3183 篇关于重构的研究论文,对现有重构研究的最具可扩展性和最全面的文献综述。

    重构生命周期是什么?

    • 重构检测:识别重构机会是实际重构过程之前的一个重要阶段。 它可以通过手动检查和分析系统的工件来识别重构机会来完成。 该领域的研究人员通常会提出全自动或半自动化技术来识别重构机会。 这些技术可能适用于不同的工件,应该根据经验进行评估。
    • 重构优先级:重构机会的数量通常超过开发人员可以处理的问题数量,尤其是当可用于执行重构的工作量有限时。 此外,并非所有重构机会都与系统目标或其健康状况同等相关。 在此阶段,根据开发人员的需要,使用不同的标准(例如,最大限度地重构具有大量反模式或具有以前的错误历史等的类)对重构操作进行优先级排序。
    • 重构测试:选择要应用的重构后,需要进行测试以确保工件转换的正确性并避免将来出现错误。 这是通过检查重构操作的前置条件和后置条件的满足以及系统行为的保存来完成的。
    • 重构文档:应用和测试重构后,需要记录重构、它们的位置、应用它们的原因以及质量改进。
    • 预测:对于开发人员来说,了解哪些位置可能需要在其软件产品的未来版本中进行重构是很有趣的。 这将帮助他们专注于将来会发生变化的相关工件,为进一步改进和扩展功能做好准备,并优化有限资源和时间的管理。 可以使用开发历史来预测未来重构的位置。

    阅读全文:一分钟读论文:《 30 年软件重构研究:系统性文献综述》

    2 条回复    2023-01-29 22:46:13 +08:00
    xuanbg
        1
    xuanbg  
       2023-01-29 16:09:32 +08:00
    根据我的亲身经历,重构的唯一受益者就是重构者。
    WhatMelon
        2
    WhatMelon  
       2023-01-29 22:46:13 +08:00
    重构会对后来的维护者也有好处吧,从"完全一坨屎"变成"有点屎"或者是"我需要揣摩一下他为什么这么写"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3023 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 14:45 · PVG 22:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.