CN111177313A - 一种即时录入编程代码即时查找参考复用程序的搜索方法 - Google Patents
一种即时录入编程代码即时查找参考复用程序的搜索方法 Download PDFInfo
- Publication number
- CN111177313A CN111177313A CN201911261402.6A CN201911261402A CN111177313A CN 111177313 A CN111177313 A CN 111177313A CN 201911261402 A CN201911261402 A CN 201911261402A CN 111177313 A CN111177313 A CN 111177313A
- Authority
- CN
- China
- Prior art keywords
- program
- code
- keyword
- abstract
- searching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种即时录入编程代码即时查找参考复用程序的搜索方法,包括以下步骤:步骤S1:获取当前程序员所键入的程序代码,通过关键字摘要获取模块提取所述程序代码的关键字摘要,通过程序切片摘要获取模块提取程序片段摘要;步骤S2:根据所述关键字摘要和程序片段摘要生成用于搜索的用户请求,后台搜索引擎根据所述用户请求,回显搜索结果;步骤S3:所述搜索结果中被程序员选中用于复用的源代码,随即被添加至程序员当前所编程序中。与现有技术相比,本发明具有提高源代码搜索过程的代码匹配度、提升程序员代码编写效率等优点。
Description
技术领域
本发明涉及计算机编程领域,尤其是涉及一种即时录入编程代码即时查找参考复用程序的搜索方法。
背景技术
即时录入编程代码参考复用程序,是指程序员在编写代码过中,可以在输入代码的同时,即自动搜索已有的源代码进行参考和复用。目前,即时录入编程代码即时搜索参考复用程序代码技术是空白的。程序员在利用已有软件代码复用,开展新的程序设计时,主要采取以下方法:利用搜索引擎获取源代码,再将其复用至正在编写的程序中;从代码库中获取源代码,再将其复用至正在编写的程序中;从开源项目网站获取代码,再将其复用至正在编写的程序中;从开源社区获取代码,再将其复用至正在编写的程序。然而,这样获取源代码的方式需要人工手动在集成开发IDE和浏览器中来回切换,不断地调整查询语句,需要花大量的时间,而且很不方便,同时也容易出错。
传统的源代码搜索复用技术,需要不断地在网页或者代码库中来回跳转,往往会令程序员失去复用代码的耐心;其次是需要不断地人工手动调整查询语句,难于做到自动提取关键字进行搜索,会使程序员花费大量的时间和精力;再者,程序员需要阅读大量的搜索结果,才能寻找有效的可用搜索代码结果,难于做到对搜索的代码结果进行有效地过滤,很难获得有效精化的效果,很难减少程序员阅读参考复用代码的时间。
发明内容
本发明的目的就是为了克服上述现有技术存在的在网页或者代码库中来回跳转、花费大量的时间和精力的缺陷而提供一种即时录入编程代码即时查找参考复用程序的搜索方法。
本发明的目的可以通过以下技术方案来实现:
一种即时录入编程代码即时查找参考复用程序的搜索方法,包括以下步骤:
步骤S1:获取当前程序员所键入的程序代码,通过关键字摘要获取模块提取所述程序代码的关键字摘要,通过程序切片摘要获取模块提取程序片段摘要;
步骤S2:根据所述关键字摘要和程序片段摘要生成用于搜索的用户请求,后台搜索引擎根据所述用户请求,回显搜索结果;
步骤S3:所述搜索结果中被程序员选中用于复用的源代码,随即被添加至程序员当前所编程序中。
所述关键字摘要获取模块和程序切片摘要获取模块均运行在所述后台搜索引擎中,在初次提取完成后,关键字摘要获取模块和程序切片摘要获取模块根据程序员后续键入的程序代码不断更新关键字摘要和程序切片摘要。
优选的,所述关键字摘要获取模块和程序切片摘要获取模块均包括数据获取层、应用层和客户层。
所述数据获取层、客户层分别与应用层进行数据交互。
优选的,所述数据获取层包括代码提取模块和代码管理模块,所述关键字摘要获取模块的应用层包括代码关键字搜索模块和代码关键字提取模块,所述程序切片摘要获取模块的应用层包括程序切片搜索模块和程序切片提取模块。
所述关键字摘要包括程序代码中的变量名、常量名、函数名和类名。
所述程序片段摘要包括程序代码中的控制依赖和数据依赖。
所述搜索结果按照与关键字摘要、程序片段摘要的匹配程度进行排序。
与现有技术相比,本发明具有以下有益效果:
1.本发明将关键字摘要和程序切片摘要同时运用于源代码搜索,提高了源代码搜索过程的代码匹配度,节省了程序员的编程操作时间。
2.本发明根据程序员输入的代码信息,不断更新关键字摘要和程序切片摘要信息,保证后台搜索引擎的搜索结果的准确性。
3.本发明通过应用层与数据获取层、客户层对接,即时将将编程录入代码与搜索结果中选中的参考源代码进行合并复用,提升了程序员代码编写的效率。
附图说明
图1为本发明的结构示意图;
图2为本发明关键字和程序切片摘要获取模块的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,一种即时录入编程代码即时查找参考复用程序的搜索方法,包括以下步骤:
步骤S1:获取当前程序员所键入的程序代码,通过关键字摘要获取模块提取程序代码的关键字摘要,通过程序切片摘要获取模块提取程序片段摘要;
步骤S2:根据关键字摘要和程序片段摘要的综合信息生成用于搜索的用户请求,后台搜索引擎根据用户请求,回显搜索结果;
步骤S3:搜索结果中被程序员选中用于复用的源代码,随即被添加至程序员当前所编程序中。
程序员不断地录入代码,重复上述过程,直至程序编写完成。
关键字摘要获取模块和程序切片摘要获取模块均运行在后台搜索引擎中,在初次提取完成后,关键字摘要获取模块和程序切片摘要获取模块根据程序员后续键入的程序代码不断更新关键字摘要和程序切片摘要。
如图2所示,关键字摘要获取模块和程序切片摘要获取模块均包括数据获取层、应用层和客户层,其中客户层为Eclipse编程开发环境。
数据获取层、客户层分别与应用层对接。
数据获取层包括代码提取模块和代码管理模块,并且数据获取层向应用层的各个应用提供数据。
关键字摘要获取模块的应用层包括代码关键字搜索模块和代码关键字提取模块,程序切片摘要获取模块的应用层包括程序切片搜索模块和程序切片提取模块。
关键字摘要包括程序代码中的变量名、常量名、函数名和类名。
程序片段摘要包括程序代码中的控制依赖和数据依赖。
搜索结果按照与关键字摘要、程序片段摘要的匹配程度进行排序。
此外,需要说明的是,本说明书中所描述的具体实施例,所取名称可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所做的举例说明。凡依据本发明构思的构造、特征及原理所做的等小变化或者简单变化,均包括于本发明的保护范围内。本发明所属技术领域的技术人员,可以对所描述的具体实例做各种各样的修改或补充或采用类似的方法,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。
Claims (8)
1.一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,包括以下步骤:
步骤S1:获取当前程序员所键入的程序代码,通过关键字摘要获取模块提取所述程序代码的关键字摘要,通过程序切片摘要获取模块提取程序片段摘要;
步骤S2:根据所述关键字摘要和程序片段摘要生成用于搜索的用户请求,后台搜索引擎根据所述用户请求,回显搜索结果;
步骤S3:所述搜索结果中被程序员选中用于复用的源代码,随即被添加至程序员当前所编程序中。
2.根据权利要求1所述的一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,所述关键字摘要获取模块和程序切片摘要获取模块均运行在所述后台搜索引擎中,在初次提取完成后,关键字摘要获取模块和程序切片摘要获取模块根据程序员后续键入的程序代码,不断更新关键字摘要和程序切片摘要。
3.根据权利要求1所述的一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,所述关键字摘要获取模块和程序切片摘要获取模块均包括数据获取层、应用层和客户层。
4.根据权利要求3所述的一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,所述数据获取层、客户层分别与应用层进行数据交互。
5.根据权利要求3所述的一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,所述数据获取层包括代码提取模块和代码管理模块,所述关键字摘要获取模块的应用层包括代码关键字搜索模块和代码关键字提取模块,所述程序切片摘要获取模块的应用层包括程序切片搜索模块和程序切片提取模块。
6.根据权利要求1所述的一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,所述关键字摘要包括程序代码中的变量名、常量名、函数名和类名。
7.根据权利要求1所述的一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,所述程序片段摘要包括程序代码中的控制依赖和数据依赖。
8.根据权利要求1所述的一种即时录入编程代码即时查找参考复用程序的搜索方法,其特征在于,所述搜索结果按照与关键字摘要、程序片段摘要的匹配程度进行排序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261402.6A CN111177313A (zh) | 2019-12-10 | 2019-12-10 | 一种即时录入编程代码即时查找参考复用程序的搜索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911261402.6A CN111177313A (zh) | 2019-12-10 | 2019-12-10 | 一种即时录入编程代码即时查找参考复用程序的搜索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111177313A true CN111177313A (zh) | 2020-05-19 |
Family
ID=70650094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911261402.6A Pending CN111177313A (zh) | 2019-12-10 | 2019-12-10 | 一种即时录入编程代码即时查找参考复用程序的搜索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177313A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392311A (zh) * | 2021-06-17 | 2021-09-14 | 中国工商银行股份有限公司 | 字段搜索方法、字段搜索装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468975A (zh) * | 2015-11-30 | 2016-04-06 | 北京奇虎科技有限公司 | 恶意代码误报的追踪方法、装置及系统 |
CN109344230A (zh) * | 2018-10-31 | 2019-02-15 | 任志颖 | 代码库文件生成、代码搜索、联结、优化以及移植方法 |
CN110196952A (zh) * | 2019-05-30 | 2019-09-03 | 百度时代网络技术(北京)有限公司 | 程序代码的搜索处理方法、装置、设备及存储介质 |
-
2019
- 2019-12-10 CN CN201911261402.6A patent/CN111177313A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105468975A (zh) * | 2015-11-30 | 2016-04-06 | 北京奇虎科技有限公司 | 恶意代码误报的追踪方法、装置及系统 |
CN109344230A (zh) * | 2018-10-31 | 2019-02-15 | 任志颖 | 代码库文件生成、代码搜索、联结、优化以及移植方法 |
CN110196952A (zh) * | 2019-05-30 | 2019-09-03 | 百度时代网络技术(北京)有限公司 | 程序代码的搜索处理方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
刘石;李合;王啸吟;张路;谢冰;: "基于语法与语义分析的代码搜索结果优化" * |
张康;曾国荪;: "开源对软件工程的作用及关键搜索技术分析" * |
李润青等: "程序源代码中的切片摘要提取及在搜索中的应用" * |
黄丽韶;: "基于语法结构的源代码搜索的研究" * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113392311A (zh) * | 2021-06-17 | 2021-09-14 | 中国工商银行股份有限公司 | 字段搜索方法、字段搜索装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109522011B (zh) | 一种基于编程现场上下文深度感知的代码行推荐方法 | |
CN107918666B (zh) | 一种区块链上的数据同步方法和系统 | |
US10169305B2 (en) | Marking comparison for similar documents | |
US9390124B2 (en) | Version control system using commit manifest database tables | |
US20140013304A1 (en) | Source code analytics platform using program analysis and information retrieval | |
CN111813796B (zh) | 基于Hive数据仓库的数据列级血缘处理系统及方法 | |
CN104881285B (zh) | 基于本体的代码片段标注与重用系统 | |
CN103092943B (zh) | 一种广告调度的方法和广告调度服务器 | |
WO2020155740A1 (zh) | 信息查询方法、装置、计算机设备及存储介质 | |
CN112860727B (zh) | 基于大数据查询引擎的数据查询方法、装置、设备及介质 | |
CN108170752B (zh) | 基于模板的元数据管理方法和系统 | |
CN111813443B (zh) | 一种用JavaFX进行代码样例自动填充的方法和工具 | |
CN106547765B (zh) | 基于sql的数据库管理方法及装置 | |
CN110347390B (zh) | 一种快速生成web页面的方法、存储介质、设备及系统 | |
CN108228762B (zh) | 用于配置主数据库通用模板的方法和系统 | |
CN115759037A (zh) | 建筑施工方案智能审核框架及审核方法 | |
CN111177313A (zh) | 一种即时录入编程代码即时查找参考复用程序的搜索方法 | |
CN113934786A (zh) | 一种构建统一etl的实施方法 | |
CN108984653A (zh) | 一种实现多系统在线开发管理的方法 | |
CN116431481A (zh) | 一种基于多代码情况下的代码参数校验方法及装置 | |
CN104090748B (zh) | 基于Makefile的源码精简器进行精简源码的方法 | |
CN116955393A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN103809915A (zh) | 一种磁盘文件的读写方法和装置 | |
CN103544167A (zh) | 一种基于中文检索的逆向分词方法及装置 | |
CN102541824B (zh) | 一种用以实现文档修改的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |