[发明专利]一种代码耦合检测的方法及装置有效
申请号: | 202010761994.4 | 申请日: | 2020-07-31 |
公开(公告)号: | CN111984531B | 公开(公告)日: | 2022-01-28 |
发明(设计)人: | 曾庆隆;彭飞;邓竹立 | 申请(专利权)人: | 五八有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 吕俊秀 |
地址: | 300450 天津市滨海新区经济技术开*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 代码 耦合 检测 方法 装置 | ||
本申请示出了一种代码耦合检测的方法及装置。根据引用头文件在业务中间件中的引用形式检测引用头文件是否为耦合工程文件,当是时,确定业务中间件中存在代码耦合。耦合工程文件包括除头文件列表中的文件、公共白名单中的文件以及私有白名单中的文件以外的文件;本申请不受运行环境限制,从而提高了代码耦合检测的适用性。不涉及对业务中间件的编译,从而避免编译本身带来的干扰,可以有效提高代码耦合检测结果的准确性。由于本申请针对业务中间件中的每一个引用头文件分别进行检测,可以直接定位出耦合的引用头文件,可以提高代码耦合定位的准确性,且代码耦合定位不需要人工参与,因此可以降低人工成本以及提高耦合定位的效率。
技术领域
本申请涉及计算机技术领域,特别是涉及一种代码耦合检测的方法及装置。
背景技术
在开发应用程序的过程中,为了使得一些基础服务能在多个应用程序中复用,可以将这些基础服务创建为业务中间件。业务中间件包括应用程序架构中处于上层业务下方的,为上层业务提供通用服务的基础组件,属于通用业务。
例如,上层业务包括用户可以直接交互的业务,例如,买房业务、租车业务以及招聘业务等,为了使得用户能够享用这些业务,在这些业务的详情页中有时候需要设置相册、列表以及聊天框等,这些诸如为了支持上层业务提供通用相册服务、通用列表服务、IM服务以及信息推送服务等可以看做通用业务,其与上层业务不是强相关。
但是,在维护应用程序中的业务中间件的过程中,有时候开发人员为了方便,可能会将业务中间件不经过解耦而直接引用了其它工程代码,这样虽然应用程序的功能和编译都不会受影响,但是后续将难以维护业务中间件,也很难将其复用到其它应用程序中,也不能单独编译生成业务中间件的静态库。
在相关技术中,为了对业务中间件进行代码耦合检测,可以对每个业务中间件单独编译,如果编译失败,则认为业务中间件很可能存在代码耦合。
但是,对业务中间件编译的过程比较耗时,而且需要依赖xcode环境。
另外,对耦合的代码的定位比较困难,需要对xcode的编译结果进行分析,当前需要依靠人工分析,然而,人工分析不仅耗时长且会提高人工成本。
其次,业务中间件编译失败也可能并不是代码耦合造成的,也可能是编译本身有问题而导致的。
由此可见,相关技术中的代码耦合检测方案存在适用性弱,对耦合的代码的定位教困难以及检测结果的准确性低等问题。
发明内容
为了提高代码耦合检测方案的适用性,降低耦合的代码的定位困难度以及提高检测结果的准确性等,本申请示出了一种代码耦合检测的方法及装置。
第一方面,本申请示出了一种代码耦合检测的方法,所述方法包括:
获取第一业务中间件中的引用头文件,以及,获取所述引用头文件在所述第一业务中间件中的引用形式;
根据所述引用形式,检测所述引用头文件是否为耦合工程文件,其中,所述耦合工程文件包括除头文件列表中的文件、公共白名单中的文件以及私有白名单中的文件以外的文件,所述公共白名单是至少基于所述第一业务中间件在非耦合状态下依赖的系统库、三方库以及标准中间件生成的,所述私有白名单是至少基于所述第一业务中间件在非耦合状态下依赖的第二业务中间件生成的,所述头文件列表中是至少根据所述第一业务中间件自身包括的文件生成的;
在至少一个所述引用头文件为所述耦合工程文件的情况下,确定所述第一业务中间件中存在代码耦合。
在一个可选的实现方式中,所述根据所述引用形式,检测所述引用头文件是否为耦合工程文件,包括:
根据所述引用形式,确定用于检测所述引用头文件是否为耦合工程文件的检测路径,所述检测路径包括以下至少一者:在所述公共白名单中检测、在所述私有白名单中检测以及在所述头文件列表中检测;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于五八有限公司,未经五八有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010761994.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种服务更新方法、装置、设备及存储介质
- 下一篇:数据的处理方法及装置