【技术实现步骤摘要】
防止代码重复提交方法、系统、计算机设备和存储介质
本专利技术涉及软件开发和维护
,具体涉及防止代码重复提交方法、系统、计算机设备和存储介质。
技术介绍
代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。代码上传时的重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题,有很多代码提交的应用场景都会遇到重复提交问题,比如:点击提交按钮两次;点击刷新按钮;使用浏览器后退按钮重复之前的操作,导致重复提交表单;使用浏览器历史记录重复提交表单;浏览器重复的HTTP请求;用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中。目前在软件工程管理中,有些程序员在实现自己功能模块的时候使用的代码,可能已经在代码库中存在,导致代码的冗余,业界某些产品如:findbugs工具仅仅在事后进行重复扫描,无法把重复代码的源头控制在用户提交的时候。
技术实现思路
基于此,有必要针对目前软件工程管理中无法将重复代码的源头控制在用户提交的时候,导致代码的冗余的问题,提供一种防止代码重复提交方法 ...
【技术保护点】
1.一种防止代码重复提交方法,其特征在于,所述防止代码重复提交方法包括:获取各服务器中的代码数据后建立原始代码库;获取用户提交的代码,将获取到的所述代码拆分成代码片段,并从所述原始代码库中对拆分后的所述代码片段进行重复搜索,所述代码片段包括代码类、代码函数和代码语句;当所述原始代码库中不存在与所述代码片段重复的原始代码时,直接提交所述代码片段对应的所述代码至所述原始代码库中;当所述原始代码库中存在与所述代码片段重复的原始代码时,计算所述代码片段与所述原始代码间的重复值;将所述代码片段的所述重复值与阈值进行比较,当所述重复值低于所述阈值时,允许提交所述代码片段对应的所述代码至 ...
【技术特征摘要】
1.一种防止代码重复提交方法,其特征在于,所述防止代码重复提交方法包括:获取各服务器中的代码数据后建立原始代码库;获取用户提交的代码,将获取到的所述代码拆分成代码片段,并从所述原始代码库中对拆分后的所述代码片段进行重复搜索,所述代码片段包括代码类、代码函数和代码语句;当所述原始代码库中不存在与所述代码片段重复的原始代码时,直接提交所述代码片段对应的所述代码至所述原始代码库中;当所述原始代码库中存在与所述代码片段重复的原始代码时,计算所述代码片段与所述原始代码间的重复值;将所述代码片段的所述重复值与阈值进行比较,当所述重复值低于所述阈值时,允许提交所述代码片段对应的所述代码至所述原始代码库中,若所述重复值高于所述阈值时,不允许提交所述代码片段对应的所述代码至所述原始代码库中。2.根据权利要求1所述的一种防止代码重复提交方法,其特征在于,所述获取各服务器中的代码数据后建立原始代码库,包括:获取来自各服务器中的代码数据;根据获取到的所述代码数据的类别和来源,将其中具有相同类别或相同来源的所述代码数据进行ID标识;根据ID标识后的所述代码数据建立原始代码库。3.根据权利要求1所述的一种防止代码重复提交方法,其特征在于,所述将获取到的所述代码拆分成代码片段,并从所述原始代码库中对拆分后的所述代码片段进行重复搜索,所述代码片段包括代码类、代码函数和代码语句,包括:将获取到的所述代码拆分成所述代码类的形式,到所述原始代码库中对所述代码类进行重复搜索;若所述原始代码库中不存在重复的所述原始代码,则将所述代码类拆分成所述代码函数的形式,到所述原始代码库中对所述代码函数进行重复搜索;若所述原始代码库中不存在重复的所述原始代码,则将所述代码函数拆分成所述代码语句的形式,到所述原始代码库中对所述代码语句进行重复搜索。4.根据权利要求1所述的一种防止代码重复提交方法,其特征在于,所述将获取到的所述代码拆分成代码片段包括:通过正则匹配拆分方法对用户提交的所述代码进行拆分后获得所述代码类、所述代码函数和所述代码语句,所述正则匹配拆分法包括通过获取所述代码的类别关键词的方式将代码进行层层拆分。5.根据权利要求1所述的一种防止代码重复提交方法,其特征在于,所述获取用户提交的代码,将获取到的所述代码拆分成代码片段,并从所述原始代码库中对拆分后的所述代码片段进行重复搜索,包括:获取用户提交的所述代码;到所述原始代码库中对所述代码进行重复搜索,若所述原始代码库中搜索到与所述代码重复的原始代码,对所述代码进行重复值计算,若所述原始代码库中未搜索到...
【专利技术属性】
技术研发人员:徐国诚,
申请(专利权)人:深圳壹账通智能科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。