论文部分内容阅读
在团队协作开发过程中,开发成员在向Git仓库提交代码时,可能需要在不改变源代码内容和结构的情况下对代码添加一些注解,备注修改缘由,便于项目负责人审核。同时,也希望开发成员可以对代码中难以理解、易混淆的核心业务逻辑添加图片、伪算法和超链接等复杂的注解,并可以将历史注解自动重新定位到新版本文件中对应的代码位置,实现一次注解,永久有效。目前,在软件开发过程中,代码中经常出现不添加注释、注释不规范等问题,导致代码冗余和结构混乱,降低了源代码的可读性和程序的可维护性。而且,国内外比较流行的代码托管平台GitHub或者Git@OSC本身并没有提供一种非侵入式、可重定位的代码注解功能,无法解决上述可能出现的问题。同时对使用代码托管平台Gitplex的企业合作用户进行访问调查,结果表明项目负责人一致认同此功能。基于上述问题和需求,本文基于Git仓库的历史记录和修订追踪功能,提出了一种字符串转换的文本diff注解定位技术。首先使用字符串前缀匹配算法、后缀匹配算法对仓库中的两个历史版本文件进行文本diff标记。同时将行级字符串转换为一个char类型字符,提高文本diff的性能和注解定位的准确性;使用局部性原理矫正注解定位可能出现的定位错误;使用缓存技术提高文本diff的性能。最后,本文制定了对比实验方案,验证四种注解定位技术的性能优异。大量的实验结果表明,本文研究的注解定位技术在运行时间和正确率两方面上的性能更优异。目前,该注解定位技术已经应用在基于代码托管平台Gitplex开发的注解系统中,运行良好,性能优异。