System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 适用于代码仓库中的针对查询相关代码的commit查询方法技术_技高网

适用于代码仓库中的针对查询相关代码的commit查询方法技术

技术编号:40117763 阅读:5 留言:0更新日期:2024-01-23 20:10
本发明专利技术提供一种适用于代码仓库中的针对查询相关代码的commit查询方法,通过针对需要生成代码参考信息的项目,分析项目自身、依赖库和Java标准库;使用领域特定语言DSL作为commit查询语言,制定commit查询语法文本,并写成用于后续ANTLR4进行解析操作的g4文件;生成词法解析器与语法解析器;获取用户输入的查询文本,使用得到的词法解析器与语法解析器对输入的查询文本进行解析,生成相对应的抽象语法树;通过遍历抽象语法树,获取查询标志和内容,对代码仓库进行遍历,搜索符合查询标志和内容的相关匹配度最高的commit提交记录,并返回给用户;该方法能够提高搜索和编程效率,能够提升查询匹配度,能够得到与预期目标匹配度更高的结果。

【技术实现步骤摘要】

本专利技术涉及一种适用于代码仓库中的针对查询相关代码的commit查询方法,属于计算机。


技术介绍

1、随着当今社会互联网的飞速发展和网络技术水平的不断提升,市场对编程人才的需求也在不断增长,编程人员在开发一个软件时,通常会用到很多已有的代码模块,对其进行部分更改和组合后完成符合要求的部分项目。因此,代码仓库因势而生,编程人员可以通过代码仓库更好地调用仓库中已有的代码段,极大地提高自身编程效率和代码利用率。此外,代码仓库可以很好地管理编程人员提交的代码,进行有效的存储,对代码编程和软件工程的发展都有很大程度的进步意义。

2、在编程人员利用进行编程开发时,存在的常见问题是:在代码仓库搜索查询时,输入自己期望获取的相应commit记录时,获取到的结果可能与所期望的目标有所差距,可能存在一些不相关的无用信息,很难得到想要的commit记录。

3、现有的搜索查询方法中存在搜索查询效率较低,查询结果的准确性与匹配度较低的缺陷,对编程人员对代码仓库的应用效率有很大影响,造成时间、精力等方面的不必要浪费。

4、上述问题是在适用于代码仓库中的针对查询相关代码的commit查询过程中应当予以考虑并解决的问题。


技术实现思路

1、本专利技术的目的是提供一种适用于代码仓库中的针对查询相关代码的commit查询方法解决现有技术中存在的查询效率较低,查询结果的准确性与匹配度有待提高的问题。

2、本专利技术的技术解决方案是:

3、一种适用于代码仓库中的针对查询相关代码的commit查询方法,包括以下步骤,

4、s1、针对需要生成代码参考信息的项目,分析项目自身、依赖库和java标准库,使代码项目正常运行与正常实现功能;

5、s2、使用领域特定语言dsl作为commit查询语言,制定具有针对性的commit查询语法文本,并写成用于后续antlr4进行解析操作的g4文件;

6、s3、利用antlr4对g4文件进行解析,生成对应的用于commit搜索查询文本解析操作的词法解析器与语法解析器;

7、s4、获取用户输入的查询文本,使用步骤s3得到的词法解析器与语法解析器对输入的查询文本进行解析,生成相对应的抽象语法树;

8、s5、通过遍历抽象语法树,获取查询标志和内容,根据查询标志和内容,对代码仓库进行遍历,搜索符合查询标志和内容的相关匹配度最高的commit提交记录,并返回给用户。

9、进一步地,步骤s1中,针对需要生成代码参考信息的项目,分析项目自身、依赖库和java标准库,使代码项目正常运行与正常实现功能,具体为,对项目管理工具maven项目中的pom.xml文件中建立相对应的依赖项目,项目中需要依赖的依赖库,进行配置完成,使正常运行相关代码与正常实现功能。

10、进一步地,步骤s1中,项目中需要依赖的依赖库包括语法解析器依赖库antlr.v4、web服务器软件apache依赖包org.apache、谷歌依赖包com.google。

11、进一步地,步骤s2中,使用领域特定语言dsl作为commit查询语言,制定具有针对性的commit查询语法文本,具体为,使用领域特定语言dsl作为commit查询的语言,编写相对应的解析语法文本,其中规定查询的语法规则和各种不同的搜索标准。

12、进一步地,步骤s2中,各种不同的搜索标准包括模糊查询标准fuzzycriteria、版本查询标准revisoncriteria、查询时间之前查询标准beforecriteria、查询时间之后查询标准aftercriteria、提交者查询标准committercriteria、作者查询标准authorcriteria、提交路径查询标准pathcriteria、提交信息查询标准messagecriteria,分别从模糊查询、时间查询、提交者查询、作者查询、路径查询、信息查询方面对后续的commit查询标准进行规定。

13、进一步地,步骤s3中,利用antlr4对g4文件进行解析,生成对应的用于commit搜索查询文本解析操作的词法解析器与语法解析器,具体为,应用antlr4工具对g4文件进行操作,选择g4文件,进行configure antlr,配置解析后文件的输出路径,即词法解析器与语法解析器的输出路径,之后generate antlr recognizer,生成antlr识别器,即生成相对应的词法解析器与语法解析器。

14、本专利技术的有益效果是:

15、一、该种适用于代码仓库中的针对查询相关代码的commit查询方法,利用领域特定语言dsl作为commit查询语言,通过antlr4对编程人员输入搜索的文本进行解析,生成词法解析器与语法解析器,并对用户输入的搜索文本进行解析、生成对应的查询抽象语法树,通过对抽象语法树的遍历,获取对应的查询标志和内容,根据查询标志和内容获取满足条件的commit记录,能够优化commit查询,能够提高搜索和编程效率,能够提升查询匹配度,能够得到与预期目标匹配度更高的结果。

16、二、该种适用于代码仓库中的针对查询相关代码的commit查询方法,利用dsl作为commit查询语言,能够有效地针对当前代码仓库中对于commit提交记录查询中出现的无法有效、准确识别所需commit提交记录的信息,更好地完成commit提交记录查询任务,获取匹配度更高、更准确的commit提交记录。

本文档来自技高网...

【技术保护点】

1.一种适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:包括以下步骤,

2.如权利要求1所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤S1中,针对需要生成代码参考信息的项目,分析项目自身、依赖库和Java标准库,使代码项目正常运行与正常实现功能,具体为,对项目管理工具maven项目中的pom.xml文件中建立相对应的依赖项目,项目中需要依赖的依赖库,进行配置完成,使正常运行相关代码与正常实现功能。

3.如权利要求2所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤S1中,项目中需要依赖的依赖库包括语法解析器依赖库antlr.v4、web服务器软件apache依赖包org.apache、谷歌依赖包com.google。

4.如权利要求1所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤S2中,使用领域特定语言DSL作为commit查询语言,制定具有针对性的commit查询语法文本,具体为,使用领域特定语言DSL作为commit查询的语言,编写相对应的解析语法文本,其中规定查询的语法规则和各种不同的搜索标准。

5.如权利要求4所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤S2中,各种不同的搜索标准包括模糊查询标准fuzzyCriteria、版本查询标准revisonCriteria、查询时间之前查询标准beforeCriteria、查询时间之后查询标准afterCriteria、提交者查询标准committerCriteria、作者查询标准authorCriteria、提交路径查询标准pathCriteria、提交信息查询标准messageCriteria,分别从模糊查询、时间查询、提交者查询、作者查询、路径查询、信息查询方面对后续的commit查询标准进行规定。

6.如权利要求1-5任一项所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤S3中,利用ANTLR4对g4文件进行解析,生成对应的用于commit搜索查询文本解析操作的词法解析器与语法解析器,具体为,应用ANTLR4工具对g4文件进行操作,选择g4文件,进行Configure ANTLR,配置解析后文件的输出路径,即词法解析器与语法解析器的输出路径,之后GenerateANTLR Recognizer,生成ANTLR识别器,即生成相对应的词法解析器与语法解析器。

...

【技术特征摘要】

1.一种适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:包括以下步骤,

2.如权利要求1所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤s1中,针对需要生成代码参考信息的项目,分析项目自身、依赖库和java标准库,使代码项目正常运行与正常实现功能,具体为,对项目管理工具maven项目中的pom.xml文件中建立相对应的依赖项目,项目中需要依赖的依赖库,进行配置完成,使正常运行相关代码与正常实现功能。

3.如权利要求2所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤s1中,项目中需要依赖的依赖库包括语法解析器依赖库antlr.v4、web服务器软件apache依赖包org.apache、谷歌依赖包com.google。

4.如权利要求1所述的适用于代码仓库中的针对查询相关代码的commit查询方法,其特征在于:步骤s2中,使用领域特定语言dsl作为commit查询语言,制定具有针对性的commit查询语法文本,具体为,使用领域特定语言dsl作为commit查询的语言,编写相对应的解析语法文本,其中规定查询的语法规则和各种不同的搜索标准。

5.如权利要...

【专利技术属性】
技术研发人员:张卫丰姜一鸣周国强张迎周王子元
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1