代码命名方法、系统、计算机装置及计算机可读存储介质制造方法及图纸

技术编号:21246519 阅读:28 留言:0更新日期:2019-06-01 07:04
本发明专利技术提供一种代码命名方法、系统、计算机装置及计算机可读存储介质。所述代码命名方法包括:从预设代码库中提取代码元素的命名及与所述代码元素对应的注释关键字;根据每一所述代码元素的命名及对应的注释关键字建立一代码元素名称与注释关键字的映射表;获取待命名的代码元素的描述信息并从所述描述信息提取出描述关键字;从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字;将与所述描述关键字相似度大于所述预设阈值的注释关键字对应的代码元素的命名作为所述待命名的代码元素的推荐命名。本发明专利技术可实现智能对代码元素进行命名,为代码开发人员提供代码开发辅助,可提升软件开发效率。

Code Naming Method, System, Computer Device and Computer Readable Storage Media

The invention provides a code naming method, a system, a computer device and a computer readable storage medium. The code naming method includes: naming code elements from a preset code base and annotation keywords corresponding to the code elements; establishing a mapping table between code element names and annotation keywords based on the naming of each code element and corresponding annotation keywords; obtaining descriptive information of code elements to be named and extracting descriptive keys from the descriptive information. Words; finding annotated keywords whose similarity of description keywords is greater than the preset threshold from the mapping table; naming code elements corresponding to annotated keywords whose similarity of description keywords is greater than the preset threshold as the recommended naming of the code elements to be named. The invention can realize intelligent naming of code elements, provide code development assistance for code developers, and improve software development efficiency.

【技术实现步骤摘要】
代码命名方法、系统、计算机装置及计算机可读存储介质
本专利技术涉及软件开发领域,尤其涉及一种代码命名方法、系统、计算机装置及计算机可读存储介质。
技术介绍
在软件程序开发过程中,开发人员想要在程序中创建变量、函数等代码元素时,需要在创建这些代码元素之前预先为其进行命名,且名称一般都是英文名称。目前对代码元素的命名都是由开发人员自己手动进行创建,对于非英语的开发者,给函数、类等代码元素进行命名时可能会出现命名不规范,元素名称不能很好的表达代码要完成的工作,且研发人员往往需要耗费较多的时间去思考代码元素的命名,使得代码元素的命名效率较为低下。
技术实现思路
鉴于上述,本专利技术提供一种代码命名方法、系统、计算机装置及计算机可读存储介质,其可以实现代码智能命名,提升软件开发效率。本申请一实施方式提供一种代码命名方法,所述方法包括:从预设代码库中提取代码元素的命名及与所述代码元素对应的注释关键字,其中所述预设代码库中包含多个代码段,每一所述代码段包括一个或多个代码元素;根据每一所述代码元素的命名及对应的注释关键字建立一代码元素名称与注释关键字的映射表;获取待命名的代码元素的描述信息并从所述描述信息提取出描述关键字,其中所述描述信息用于描述所述待命名的代码元素的功能;从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字;及将与所述描述关键字相似度大于所述预设阈值的注释关键字对应的代码元素的命名作为所述待命名的代码元素的推荐命名。优选地,所述代码元素包括以下的一种或者多种:变量、常量、函数、类、文件,所述描述信息为所述待命名的代码元素的注释。优选地,所述从所述描述信息提取出描述关键字的步骤包括:对所述描述信息进行分词处理及词性标注,得到与所述描述信息对应的多个分词,其中每一所述分词标注有一词性;对多个所述分词进行合并去重处理;及统计每一所述分词在所述描述信息中的TF-IDF信息,并根据所述TF-IDF信息及每一所述分词的预设权重从多个所述分词中选取出一个或者多个分词作为所述描述关键字。优选地,所述从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字的步骤包括:利用文本相似度算法计算得到所述映射表中每一所述注释关键字与所述描述关键字的相似度;及根据计算得到的相似度筛选出与所述描述关键字相似度大于预设阈值的注释关键字。优选地,所述从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字的步骤之后还包括:当所述映射表不存在与所述描述关键字相似度大于所述预设阈值的注释关键字时,将所述描述关键字输入至代码命名模型,得到所述待命名的代码元素的推荐命名;其中,所述代码命名模型是根据所述预设代码库中提取得到的代码元素的命名及注释关键字建立并训练得到。优选地,所述代码命名模型的训练步骤包括:将从所述预设代码库中提取得到的代码元素的命名及注释关键字进行文本向量化处理,以获取向量化表示的训练数据;及采用条件随机场算法对所述训练数据进行训练,得到所述代码命名模型。优选地,所述从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字的步骤之后还包括:当所述映射表不存在与所述描述关键字相似度大于所述预设阈值的注释关键字时,将所述描述关键字转换成英文单词,并将所述英文单词作为所述待命名的代码元素的推荐命名。本申请一实施方式提供一种代码命名系统,所述系统包括:提取模块,用于从预设代码库中提取代码元素的命名及与所述代码元素对应的注释关键字,其中所述预设代码库中包含多个代码段,每一所述代码段包括一个或多个代码元素;建立模块,用于根据每一所述代码元素的命名及对应的注释关键字建立一代码元素名称与注释关键字的映射表;获取模块,用于获取待命名的代码元素的描述信息并从所述描述信息提取出描述关键字,其中所述描述信息用于描述所述待命名的代码元素的功能;查找模块,用于从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字;及推荐模块,用于将与所述描述关键字相似度大于所述预设阈值的注释关键字对应的代码元素的命名作为所述待命名的代码元素的推荐命名。本申请一实施方式提供一种计算机装置,所述计算机装置包括处理器及存储器,所述存储器上存储有若干计算机程序,所述处理器用于执行存储器中存储的计算机程序时实现如前面所述的代码命名方法的步骤。本申请一实施方式提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前面所述的代码命名方法的步骤。上述代码命名方法、系统、计算机装置及计算机可读存储介质,通过从预设代码库中提取得到多个代码元素的命名及对应的注释关键字并建立一代码元素名称与注释关键字的映射表,当开发者需要创建新的代码元素时,通过获取待命名的代码元素的描述信息并根据该描述信息来从所述映射表中查找与所述待命名的代码元素匹配的可推荐命名,当所述映射表不存在与所述待命名的代码元素匹配的命名时,还可以通过代码命名模型或者自动化翻译来实现推荐与所述待命名的代码元素匹配的命名,节省了开发时间,提升开发者的代码开发效率。附图说明为了更清楚地说明本专利技术实施方式的技术方案,下面将对实施方式描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术一实施例中代码命名方法的步骤流程图。图2是本专利技术另一实施例中代码命名方法的步骤流程图。图3为本专利技术一实施例中代码命名系统的功能模块图。图4为本专利技术一实施例中计算机装置示意图。具体实施方式为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和具体实施方式对本专利技术进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施方式及实施方式中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,所描述的实施方式仅仅是本专利技术一部分实施方式,而不是全部的实施方式。基于本专利技术中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施方式,都属于本专利技术保护的范围。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中在本专利技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本专利技术。优选地,本专利技术的代码命名方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、可编程门阵列(Field-ProgrammableGateArray,FPGA)、数字处理器(DigitalSignalProcessor,DSP)、嵌入式设备等。所述计算机装置可以是桌上型计算机、笔记本电脑、平板电脑、服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。实施例一:图1是本专利技术代码命名方法较佳实施例的步骤流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。参阅图1所示,所述代码命名方法具体包括以下步骤。步骤S11本文档来自技高网
...

【技术保护点】
1.一种代码命名方法,其特征在于,所述方法包括:从预设代码库中提取代码元素的命名及与所述代码元素对应的注释关键字,其中所述预设代码库中包含多个代码段,每一所述代码段包括一个或多个代码元素;根据每一所述代码元素的命名及对应的注释关键字建立一代码元素名称与注释关键字的映射表;获取待命名的代码元素的描述信息并从所述描述信息提取出描述关键字,其中所述描述信息用于描述所述待命名的代码元素的功能;从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字;及将与所述描述关键字相似度大于所述预设阈值的注释关键字对应的代码元素的命名作为所述待命名的代码元素的推荐命名。

【技术特征摘要】
1.一种代码命名方法,其特征在于,所述方法包括:从预设代码库中提取代码元素的命名及与所述代码元素对应的注释关键字,其中所述预设代码库中包含多个代码段,每一所述代码段包括一个或多个代码元素;根据每一所述代码元素的命名及对应的注释关键字建立一代码元素名称与注释关键字的映射表;获取待命名的代码元素的描述信息并从所述描述信息提取出描述关键字,其中所述描述信息用于描述所述待命名的代码元素的功能;从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字;及将与所述描述关键字相似度大于所述预设阈值的注释关键字对应的代码元素的命名作为所述待命名的代码元素的推荐命名。2.如权利要求1所述的代码命名方法,其特征在于,所述代码元素包括以下的一种或者多种:变量、常量、函数、类、文件,所述描述信息为所述待命名的代码元素的注释。3.如权利要求1或2所述的代码命名方法,其特征在于,所述从所述描述信息提取出描述关键字的步骤包括:对所述描述信息进行分词处理及词性标注,得到与所述描述信息对应的多个分词,其中每一所述分词标注有一词性;对多个所述分词进行合并去重处理;及统计每一所述分词在所述描述信息中的TF-IDF信息,并根据所述TF-IDF信息及每一所述分词的预设权重从多个所述分词中选取出一个或者多个分词作为所述描述关键字。4.如权利要求1或2所述的代码命名方法,其特征在于,所述从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字的步骤包括:利用文本相似度算法计算得到所述映射表中每一所述注释关键字与所述描述关键字的相似度;及根据计算得到的相似度筛选出与所述描述关键字相似度大于预设阈值的注释关键字。5.如权利要求1或2所述的代码命名方法,其特征在于,所述从所述映射表中查找与所述描述关键字相似度大于预设阈值的注释关键字的步骤之后还包括:当所述映射表不存在与所述描述关键字相似度大于所述预设阈值的注释关键字时,将所述描述关键字输入至代码命名模型,得到...

【专利技术属性】
技术研发人员:成明
申请(专利权)人:深圳壹账通智能科技有限公司
类型:发明
国别省市:广东,44

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

1