[发明专利]一种程序代码的处理方法和装置在审
申请号: | 201711447799.9 | 申请日: | 2017-12-27 |
公开(公告)号: | CN109976991A | 公开(公告)日: | 2019-07-05 |
发明(设计)人: | 魏浩 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京市隆安律师事务所 11323 | 代理人: | 权鲜枝;何立春 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序代码 代码数据块 抽象语法树 保存 计算机可读存储介质 方法和装置 电子设备 用户体验 出错率 冗余 比对 | ||
本发明公开了一种程序代码的处理方法、装置、电子设备和计算机可读存储介质。该方法包括:获取程序代码的抽象语法树;根据抽象语法树,分离出程序代码中指定类的代码数据块;将分离出的各代码数据块分别进行命名后保存;对所保存的各代码数据块,将其与所保存的一个或多个代码数据块进行比对,确定程序代码中该指定类的内容相同的代码数据块。通过本技术方案,可以确定程序代码中的内容相同的代码数据块,以便消除程序代码中的冗余,降低程序代码运行的出错率,增强用户体验。
技术领域
本发明涉及计算机技术领域,具体涉及一种程序代码的处理方法、装置、电子设备和计算机可读存储介质。
背景技术
在一个应用程序或者一个系统的程序代码开发阶段,为了程序代码的正常运行,会将实现指定功能的一个代码块添加到开发中的程序代码中,以便进行调用。但是,一个程序代码的开发可能会经手多个开发人员,又因为程序代码的行数较多,当需要实现指定功能时,每个开发人员无法遍历已完成的程序代码的全部,而是自己再编写一个代码块以便实现相应的功能。这样,在一个程序代码中,实现同一个功能的代码块可能会有多个,造成了程序代码的冗余。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的程序代码的处理方法、装置、电子设备和计算机可读存储介质。
根据本发明的一个方面,提供了一种程序代码的处理方法,其中,该方法包括:
获取程序代码的抽象语法树;
根据所述抽象语法树,分离出所述程序代码中指定类的代码数据块;
将分离出的各代码数据块分别进行命名后保存;
对所保存的各代码数据块,将其与所保存的一个或多个代码数据块进行比对,确定所述程序代码中该指定类的内容相同的代码数据块。
可选地,所述将分离出的各代码数据块分别进行命名包括:
将分离出的各代码数据块以类、方法名和参数信息进行命名。
可选地,所述对所保存的各代码数据块,将其与所保存的一个或多个代码数据块进行比对包括:
使用Karp-Rabin字符串匹配算法,对所保存的各代码数据块,将其与所保存的一个或多个代码数据块进行比对。
可选地,
所述指定类的代码数据块是指方法类的代码数据块。
可选地,该方法进一步包括:
为所述程序代码中的各代码数据块分别设置一标识码;
所述程序代码运行时,根据所述程序代码的运行进度,将各代码数据块的标识码输出到所述程序代码运行日志中;
当所述程序代码运行出错时,根据所述程序代码运行日志中的所述标识码,确定所述程序代码运行出错的位置。
可选地,该方法进一步包括:
设置一标识开关;
所述程序代码运行时,根据所述程序代码的运行进度,将各代码数据块的标识码输出到所述程序代码运行日志中包括:
所述程序代码运行时,判断所述标识开关当前所处的状态;
当所述标识开关当前处于开的状态时,根据所述程序代码的运行进度,将各代码数据块的标识码输出到所述程序代码运行日志中。
可选地,该方法进一步包括:
提供网页编辑接口;
根据所述网页编辑接口接收网页样式编辑参数,根据接收的所述网页样式编辑参数生成网页的样式程序代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711447799.9/2.html,转载请声明来源钻瓜专利网。