代码检查方法及装置与流程

文档序号:35551583发布日期:2023-09-23 23:10阅读:19来源:国知局
代码检查方法及装置与流程

本公开涉及计算机。更具体地,本公开涉及一种代码检查方法及装置。


背景技术:

1、客户端系统经常会遇到需要本地缓存数据的场景,以优化用户体验,以短视频为例,客户端从服务器请求到数据后,可缓存下来,在下一次启动请求超时时,可使用本地缓存的数据优化体验。客户端系统缓存对象需要遵守nscoding协议,mjextension中正式提供了这一协议的默认实现,可用宏mjcodingimplementation来实现。该默认实现要求对象、对象的属性所用到的类、以及递归属性的子属性所用到的类均需遵守nscoding协议。否则在实际运行过程中,缓存和恢复数据的时候可能会发生崩溃。实际开发过程中,没有有效的机制保证新增的对象都实现了nscoding协议。

2、相关技术中,在提交代码时,通过人工检查代码或者静态代码检查的方式检查代码来发现问题,之后通过建立相关文档描述这一问题,以通知开发人员需要注意这一问题;在线上遇到此类崩溃,通过崩溃日志排查是哪里出现的问题。可见,在提交代码时,依赖开发人员的经验,当流程较为繁琐时,容易由开发人员的疏忽,造成误判;在线上遇到此类崩溃,发现的时候线上崩溃已经发生,会带来线上损失。


技术实现思路

1、本公开的示例性实施例在于提供一种代码检查方法及装置,以至少解决相关技术中的代码检查的问题,也可不解决任何上述问题。

2、根据本公开的示例性实施例,提供一种代码检查方法,包括:在代码运行时,确定代码中的待检查对象;基于所述待检查对象的属性特征确定所述待检查对象是否遵守预设协议,其中,所述待检查对象的属性特征包括所述待检查对象的属性和子属性,子属性是所述待检查对象的属性的属性;当基于所述待检查对象的属性特征确定所述待检查对象不遵守所述预设协议时,输出代码检查结果,以提示所述待检查对象不遵守所述预设协议。

3、可选地,确定代码中的待检查对象,可包括:确定代码中的对象所属的类是否为预设类;当所述对象所属的类不是所述预设类时,将所述对象确定为所述待检查对象。

4、可选地,所述预设类可包括预设白名单中的类,预设白名单中可至少包括系统类、只读类。

5、可选地,基于所述待检查对象的属性特征确定所述待检查对象是否遵守所述预设协议,可包括:遍历所述待检查对象的属性,确定所述待检查对象的属性中是否存在不遵守所述预设协议的属性;当所述待检查对象的属性中存在不遵守所述预设协议的属性时,确定所述待检查对象不遵守所述预设协议。

6、可选地,基于所述待检查对象的属性特征确定所述待检查对象是否遵守所述预设协议,还可包括:当所述待检查对象的属性中不存在不遵守所述预设协议的属性时,遍历所述待检查对象的子属性,确定所述待检查对象的子属性中是否存在不遵守所述预设协议的子属性;当所述待检查对象的子属性中存在不遵守所述预设协议的属性时,确定所述待检查对象不遵守所述预设协议。

7、可选地,基于所述待检查对象的属性特征确定所述待检查对象是否遵守所述预设协议,还可包括:当所述待检查对象的子属性中不存在不遵守所述预设协议的属性时,确定所述待检查对象遵守所述预设协议。

8、可选地,所述代码检查方法还可包括:当确定所述待检查对象遵守所述预设协议时,保存代码检查结果。

9、可选地,所述预设协议可包括nscoding协议、nstyping协议中的至少一个。

10、根据本公开的示例性实施例,提供一种代码检查装置,包括:对象确定单元,被配置为在代码运行时,确定代码中的待检查对象;协议检查单元,被配置为基于所述待检查对象的属性特征确定所述待检查对象是否遵守预设协议,其中,所述待检查对象的属性特征包括所述待检查对象的属性和子属性,子属性是所述待检查对象的属性的属性;和结果输出单元,被配置为当基于所述待检查对象的属性特征确定所述待检查对象不遵守所述预设协议时,输出代码检查结果,以提示所述待检查对象不遵守所述预设协议。

11、可选地,对象确定单元可被配置为:确定代码中的对象所属的类是否为预设类;当所述对象所属的类不是所述预设类时,将所述对象确定为所述待检查对象。

12、可选地,所述预设类可包括预设白名单中的类,预设白名单中至少包括系统类、只读类。

13、可选地,协议检查单元可被配置为:遍历所述待检查对象的属性,确定所述待检查对象的属性中是否存在不遵守所述预设协议的属性;当所述待检查对象的属性中存在不遵守所述预设协议的属性时,确定所述待检查对象不遵守所述预设协议。

14、可选地,协议检查单元还可被配置为:当所述待检查对象的属性中不存在不遵守所述预设协议的属性时,遍历所述待检查对象的子属性,确定所述待检查对象的子属性中是否存在不遵守所述预设协议的子属性;当所述待检查对象的子属性中存在不遵守所述预设协议的属性时,确定所述待检查对象不遵守所述预设协议。

15、可选地,协议检查单元还可被配置为:当所述待检查对象的子属性中不存在不遵守所述预设协议的属性时,确定所述待检查对象遵守所述预设协议。

16、可选地,所述代码检查装置还可包括:保存单元,被配置为当确定所述待检查对象遵守所述预设协议时,保存代码检查结果。

17、可选地,所述预设协议可包括nscoding协议、nstyping协议中的至少一个。

18、根据本公开的示例性实施例,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现根据本公开的示例性实施例的代码检查方法。

19、根据本公开的示例性实施例,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使得电子设备执行根据本公开的示例性实施例的代码检查方法。

20、根据本公开的示例性实施例,提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,实现根据本公开的示例性实施例的代码检查方法。

21、本公开的实施例提供的技术方案至少带来以下有益效果:

22、自动及时地检查出运行的代码的问题,降低代码的崩溃率;

23、减少代码检查的人力成本。

24、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。



技术特征:

1.一种代码检查方法,其特征在于,包括:

2.根据权利要求1所述的代码检查方法,其特征在于,基于所述待检查对象的属性特征确定所述待检查对象是否遵守所述预设协议,包括:

3.根据权利要求2所述的代码检查方法,其特征在于,基于所述待检查对象的属性特征确定所述待检查对象是否遵守所述预设协议,还包括:

4.根据权利要求3所述的代码检查方法,其特征在于,基于所述待检查对象的属性特征确定所述待检查对象是否遵守所述预设协议,还包括:

5.根据权利要求1所述的代码检查方法,其特征在于,还包括:

6.根据权利要求1所述的代码检查方法,其特征在于,所述预设协议包括nscoding协议、nstyping协议中的至少一个。

7.一种代码检查装置,其特征在于,包括:

8.一种电子设备,其特征在于,包括:

9.一种计算机可读存储介质,存储有计算机程序,其特征在于,当所述计算机程序被电子设备的处理器执行时,使得电子设备执行如权利要求1至6中任一项所述的代码检查方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,当所述计算机程序被处理器执行时,实现权利要求1至6中任一项所述的代码检查方法。


技术总结
本公开关于一种代码检查方法及装置。该代码检查方法包括:在代码运行时,确定代码中的待检查对象;基于所述待检查对象的属性特征确定所述待检查对象是否遵守预设协议,其中,所述待检查对象的属性特征包括所述待检查对象的属性和子属性,子属性是所述待检查对象的属性的属性;当基于所述待检查对象的属性特征确定所述待检查对象不遵守所述预设协议时,输出代码检查结果,以提示所述待检查对象不遵守所述预设协议。根据本公开的代码检查方法及装置,可自动并且及时地检查出运行的代码的问题,降低了代码的崩溃率。

技术研发人员:朱超
受保护的技术使用者:北京达佳互联信息技术有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1