[发明专利]源代码格式的检查方法及设备有效
申请号: | 201810988816.8 | 申请日: | 2018-08-28 |
公开(公告)号: | CN109471634B | 公开(公告)日: | 2021-11-16 |
发明(设计)人: | 彭凡 | 申请(专利权)人: | 上海思立微电子科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 上海百一领御专利代理事务所(普通合伙) 31243 | 代理人: | 甘章乖;王路丰 |
地址: | 201210 上海市浦东新区自由*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源代码 格式 检查 方法 设备 | ||
本申请提供了一种源代码格式的检查方法及设备,能够在目标源代码中确定定位字符串,并根据定位字符串得到对应的语义环境和格式检查字符串,再进一步将格式检查字符串与标准代码格式进行匹配,判断是否符合格式规范要求,从而保证了源代码格式的规范性和一致性,还实现了在不同语义环境下对源代码格式的区分,提高了源代码格式检查的准确性和完整性,能够为较为复杂的代码语义环境提高源代码格式检查,检查方式更加灵活,提高了源代码格式检查技术的实用性,避免了代码的自动转换带来的误操作,还提高了开发人员对源代码的阅读效率,进而提高了开发人员的工作效率。
技术领域
本申请涉及计算机软件领域,尤其涉及一种源代码格式的检查方法及设备。
背景技术
当前,在软件开发过程中,为实现开发代码格式的标准化和规范化,方便软件代码的维护和团队协作,需要对开发代码的格式进行检查,确定是否满足相应的规范。美国专利申请Method And Apparatus for Reformatting Source Code Appearance(US20070011654)给出了一种源代码格式的检查方法,该方案主要实现了源代码仓库的源代码格式和用户检出源代码时所希望得到的代码格式两者间的来回互相转化,其主要问题在于:该方案对于定位字符串在不同语义下的处理并未细分,例如,在‘}’后跟随语句内容时,一般情况下,‘}’后的内容应该另起一行,但如果‘}’是在一个宏定义的整体语境下,则可以不做处理,又如果‘}’对应的‘{’前面紧接do关键字,则也可以不做处理等等。
此外,该美国专利申请方案对于一般的应用层源代码和Kernel层源代码的代码风格并未区分处理,例如,if语句后的‘{’在应用层源代码中可能倾向于被要求另起一行,而在Kernel层源代码(遵循GNU风格,如 Linux内核)中则倾向于和if语句放置在同一行。因此该方案对源代码格式的检查过于简单和粗略,不能实现不同语义环境下的源代码格式的检查,另外,该方案并未实现将原有代码内容与用户阅读后再重传的代码内容进行比对并确保完全一致,这样会由于自动转换工具的缺陷而导致原有代码内容在格式被转换后可能发生内容或语义改变,从而对代码仓库中的代码内容的正确性和完整性造成破坏。
发明
本申请的一个目的是提供一种源代码格式的检查方法及设备。
为实现上述目的,本申请提供了一种源代码格式的检查方法,其中,该方法包括:
获取进行格式检查的目标源代码;
读取所述目标源代码,查找并确定定位字符串;
根据确定的定位字符串,确定所述定位字符串对应的语义环境和格式检查字符串;
将所述格式检查字符串与所述语义环境对应的预设标准代码格式进行匹配,在匹配不一致时,给出相应的提示信息。
进一步地,所述定位字符串包括:运算符、关键字和括号。
进一步地,根据确定的定位字符串,确定所述定位字符串对应的语义环境和格式检查字符串:
获取指向定位字符串的文件流指针,并将所述文件流指针在定位字符串的上下文中向前或向后移动;
根据所述文件流指针获取的字符和预设语义环境判定规则,确定所述定位字符串对应的语义环境和格式检查字符串。
进一步地,根据确定的定位字符串,确定所述定位字符串对应的语义环境和格式检查字符串之后,还包括:
根据所述语义环境,获取与所述语义环境对应的预设标准代码格式。
进一步地,获取进行格式检查的目标源代码之前,还包括:
监测用户操作,在用户执行目标源代码提交操作时,触发对目标源代码的获取。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海思立微电子科技有限公司,未经上海思立微电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810988816.8/2.html,转载请声明来源钻瓜专利网。