论文部分内容阅读
代码味道的识别与自动重构是近年来软件工程的热点领域之一,重复代码是一种在软件工程中较为常见的代码味道,在软件的质量、维护等领域上有着广泛的应用需求,同时也是一种易于量化评估的代码味道,因此重复代码的识别与自动重构研究具有较高的科研价值和应用价值。现阶段国内外对于重复代码已经有了较多的研究,也已经提出了众多关于重复代码的识别与重构方法。但在重复代码的识别上,现有的方法都存在着一定的局限性。尤其是针对开源环境、云计算模式等场景下,实现重复代码识别有新的挑战,现有的重构技术仍不够完善,难以进行广泛应用。本文针对上述问题,针对主流开源软件环境下的若干典型应用,将现有的、成熟的重复代码识别方法综合评测,评估了不同应用场景下的重复代码识别方法,提出了组合建议。同时根据这一组合建议,提出了一种基于模板方法模式导向的重复代码自动重构方式,研究并实现了该方法。本研究基于现有的重复代码识别方法,提出了新的实用性更强的重复代码识别方法,并设计了重构算法,最后将其实现为一个工具软件,以将研究成果应用于实际的软件开发工作。