一种代码检测方法、装置、电子设备及存储介质
文献发布时间:2023-06-19 18:34:06
技术领域
本发明涉及计算机技术领域,特别是涉及一种代码检测方法、装置、电子设备及存储介质。
背景技术
在应用程序开发中,通常是不同的团队负责不同的业务。由于参与开发的人员较多,很容易在开发过程中出现方法同名的问题。这样一来,就会使得在开发时,出现分类的方法覆盖主类的方法或者不同分类的方法之间出现了方法覆盖的情况,即重写同名方法而使原方法中的步骤不能再执行,从而导致应用程序异常。
目前,分类的方法不能覆盖哪些方法只是依靠开发人员自行保证,并没有统一的检查,因此不够安全可靠。
发明内容
本发明实施例的目的在于提供一种代码检测方法,以实现减少因分类的方法覆盖,而导致应用程序异常的问题的产生。具体技术方案如下:
根据本发明实施例的第一方面,提供了一种代码检测方法,应用于操作系统,所述方法包括:
获取应用程序中的第一类的方法和第二类的方法,其中,所述第一类和所述第二类中一者为主类,另一者为分类;或者,所述第一类和所述第二类中两者为同一主类下的不同分类;
判断所述第一类的方法和所述第二类的方法中是否存在同名方法;
若所述第一类的方法和所述第二类的方法中存在所述同名方法,则判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中是否包括所述同名方法;
如果所述第一类和所述第二类预先设置的不能被覆盖实现的方法中包括所述同名方法,则按照第一预设策略进行告警。
在一种可能的实施例中,在所述判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中是否包括所述同名方法之后,所述方法还包括:
若判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中不包括所述同名方法,则按照第二预设策略进行告警,所述第二预设策略规定的告警显著程度低于所述第一预设策略规定的告警显著程度。
在一种可能的实施例中,所述方法还包括:
若判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中包括所述同名方法,则拒绝运行所述应用程序;
若判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中不包括所述同名方法,则暂停运行所述应用程序。在一种可能的实施例中,所述方法还包括:
若所述第一类的方法和所述第二类的方法中不存在同名方法,则不进行告警。
根据本发明实施例的第二方面,提供了一种代码检测装置,应用于操作系统,所述装置包括:
获取模块,用于获取应用程序中的第一类的方法和第二类的方法;
第一判断模块,用于判断所述第一类的方法和所述第二类的方法中是否存在同名方法;
第二判断模块,用于在若所述第一类的方法和所述第二类的方法中存在所述同名方法,判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中是否包括所述同名方法;
第一告警模块,用于在如果所述第一类和所述第二类预先设置的不能被覆盖实现的方法中包括所述同名方法,则按照第一预设策略进行告警。
在一种可能的实施例中,所述装置还包括:
第二告警模块,用于在若判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中不包括所述同名方法时,按照第二预设策略进行告警,所述第二预设策略规定的告警显著程度低于所述第一预设策略规定的告警显著程度。
在一种可能的实施例中,所述装置还包括:
若判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中包括所述同名方法,则拒绝运行所述应用程序;
若判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中不包括所述同名方法,则暂停运行所述应用程序。
在一种可能的实施例中,所述装置还包括:
在若所述第一类和所述第二类中不存在同名方法时,不进行告警。
根据本发明实施例的第三方面,提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的一种代码检测方法。
根据本发明实施例的第四方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的一种代码检测方法。
本发明实施例有益效果:
本发明实施例提供的一种代码检测方法、装置、电子设备及存储介质,可以获取应用程序中的第一类的方法以及第二类的方法,通过获取应用程序中所有的方法进行统一的检查,可以尽量避免出现如在现有技术中只能由开发人员自己检查可能会出现疏忽的问题。然后判断第一类的方法以及第二类的方法中是否存在同名方法。如果存在同名方法,则判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括该同名方法。若是预先设置的不能被覆盖实现的方法中包括该同名方法,则按照第一预设策略进行告警,提醒开发人员。相比较现有技术只能在应用程序出现异常后再去排查问题,通过在检查到第一类的方法以及第二类的方法中存在有包括在预先设置的不能被覆盖实现的方法中的同名方法时,就按照第一预设策略进行告警,以减少因出现同名方法而导致发生方法覆盖进而导致应用程序异常的问题。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的一种代码检测方法的流程图;
图2为本发明实施例提供的另一种代码检测方法的流程图;
图3为本发明实施例提供的又一种代码检测方法的流程图;
图4为本发明实施例提供的一种代码检测装置的结构示意图;
图5为本发明实施例提供的另一种代码检测装置的结构示意图;
图6为本发明实施例提供的电子设备的一种结构图示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本发明保护的范围。
随着应用程序业务的发展,其功能越来越多,功能模块也越来越多。在大型应用程序开发中,通常由不同的团队负责不同的业务,开发对应的功能逻辑。由于参与开发的人员较多,很容易在开发过程中出现方法同名的问题。这样一来,就会使得在开发时,出现覆盖主类方法或者不同分类之间出现了方法覆盖的情况,从而导致应用程序异常。
为了减少在分类中因方法覆盖而导致应用程序异常的问题的产生,本申请提供了一种代码检测方法,如图1所示,图1为本发明实施例提供的一种代码检测方法的一种流程图,其中,
步骤S101,获取应用程序中的第一类的方法和第二类的方法,其中,所述第一类和所述第二类中一者为主类,另一者为分类,或者所述第一类和所述第二类中两者为同一主类下的不同分类。
步骤S102,判断第一类的方法和第二类的方法中是否存在同名方法。
步骤S103,若第一类的方法和第二类的方法中存在同名方法,则判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括同名方法。
步骤S104,如果第一类和第二类预先设置的不能被覆盖实现的方法中包括同名方法,则按照第一预设策略进行告警。
在本实施例中,获取应用程序中的第一类的方法和第二类中的方法,然后通过判断第一类的方法和第二类中的方法中是否存在同名方法来判断是否需要进行告警。如果第一类的方法和第二类的方法中存在同名方法,则判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括该同名方法。若是预先设置的不能被覆盖实现的方法中包括该同名方法,则按照第一预设策略进行告警,提醒开发人员。无需在应用程序出现异常后再由开发人员去排查问题,可以在检查到第一类和第二类中存在有包括在预先设置的不能被覆盖实现的方法中的同名方法时就进行告警,降低了因方法覆盖而导致应用程序异常的可能性。
下面将对前述S101-S103进行说明:
其中,在S101中,例如在IOS(iPhone operating system,一种操作系统)系统中可以通过利用Objective-C(一种计算机语言)语言的RunTime(运行时刻)机制获取主类与分类以及对应的方法,获取结果如表1所示,表1的含义为应用程序中有A、B和C三个主类,主类A有A+test分类,主类B有B+test和B+test2两个分类,主类C有C+test一个分类,其中主类A实现了A1、A2两个方法,A+test分类实现了A1方法。
表1.主类和分类及对应的方法列表
在本实施例中,第一类和第二类中一者为主类,另一者为分类,或者第一类和第二类中两者为同一主类下的不同分类。
例如,如表1所示,在类名为A的主类中有A+test分类,该主类A与分类A+test中存在同名方法A1,同时表2中存在有主类A不能被分类覆盖实现的方法A1,因此会按照第一预设策略进行告警。
又例如,如表1所示,在类名为B的主类中有B+test分类和B+test2分类,这两个分类中存在有同名方法B2,同时表2中存在有分类B+test不能被分类覆盖实现的方法B2,因此会按照第一预设策略进行告警。
在步骤S102中,因为同名方法会导致发生方法覆盖因此需要对第一类的方法和第二类的方法中是否存在有同名方法进行判断,若存在同名方法,则需执行步骤S103。
例如,当第一类为主类A,第二类为主类A的分类A+test时,主类A实现的方法为A1和A2,分类A+test实现的方法为A1,因此存在同名方法A1。当第一类为主类B,第二类为主类B的分类B+test时,主类B实现的方法为B1,分类B+test实现的方法为B2,因此不存在同名方法。
在步骤S103中,若第一类的方法和第二类的方法中存在同名方法,则需判断该同名方法是否存在于预先设置的不能被覆盖实现的方法中。
其中,预先设置的不能被覆盖实现的方法可以以表格形式给出,如表2所示,表2为主类和分类及对应的不能被覆盖实现的方法列表,在表2中第一类为主类A,第二类为主类A的分类时,主类A中的A1、A2两个方法不可以被主类A的分类覆盖实现。第一类为B+test分类,第二类为主类B的其他分类时,主类B的B+test分类中的B2方法,不可以被主类B的其他分类覆盖实现。另外,预先设置的不能被覆盖实现的方法也可以以文档形式给出。
表2.主类和分类及对应的不能被覆盖实现的方法列表
另外,预先设置的不能被覆盖实现的方法由开发人员根据业务的不同需求给出或者由机器根据系统供应商提供的不能被分类覆盖的方法给出。
在步骤S104中,按照第一预设策略进行告警可以为显示error信息或者以红色界面等方式,以提醒开发人员修改逻辑代码。
例如,当第一类为主类,第二类为分类时,如表1所示,获取主类A、主类B和主类C的方法时,主类A及主类A的分类A+test中,存在同名方法A1,而表2中包含方法A1,因此A1是不能被覆盖实现的方法,会按照第一预设策略进行告警。当第一类为分类,第二类也为分类时,在遍历到B主类时,B主类的B+test、B+test2两个分类中,存在B2一个同名方法,且B2方法是表2中B+test分类不允许B主类的其他分类覆盖实现的方法,因此会按照第一预设策略进行告警。
例如,预先设置主类A中的方法A1为不能被覆盖实现的方法。主类A与主类A的分类A+test中,存在同名方法A1。因为A1为预设设置主类A中的不能被覆盖实现的方法,所以可以生成error信息提醒开发人员。或者,预先设置主类B的分类B+test中的方法B2为不能被覆盖实现的方法。在主类B的分类B+test与分类B+test2中,存在同名方法B2。因为B2为预设设置主类B的分类B+test中的不能被覆盖实现的方法,所以可以以红色界面提醒开发人员修改逻辑代码。
在本实施例中,判断同名方法是不是存在于第一类和第二类预先设置的不能被覆盖实现的方法中,如果存在的话,按照第一预设策略进行告警提醒开发人员进行修改。通过预先设置的不能被覆盖实现的方法对同名方法去进行检查,可以在开发阶段就给出警告,以减少因覆盖了不能被覆盖实现的方法而导致的应用程序异常情况的产生。
在本实施例中,在判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括同名方法之后,该方法还包括:
若判断针对第一类和第二类预先设置的不能被覆盖实现的方法中不包括同名方法,则按照第二预设策略进行告警,该第二预设策略规定的告警显著程度低于第一预设策略规定的告警显著程度。
其中,告警显著程度是开发人员的对告警的感知程度。开发人员明显可以注意到的告警为显著程度较高的告警。开发人员比较不明显注意到的告警为显著程度较低的告警。因此,告警显著程度可以以颜色进行区分,如第一预设策略规定以红色界面进行告警,第二预设策略以橙色界面进行告警。又或者告警显著程度可以以显示信息进行区分,如第一预设策略规定的告警为显示erorr(错误)信息,第二预设策略规定的告警为显示warning(警告)信息。例如,以弹出弹窗的形式对开发人员进行告警,该弹窗页面有继续运行与修改两个选项。当以第一预设策略告警时,弹出显示有erorr信息的弹窗,继续运行选项显示为灰色不可以点击,只有修改选项可以进行点击,提醒开发人员对存在于预先设置的不能被覆盖实现的方法中的同名方法进行修改。当以第二预设策略进行告警时,弹出显示有warning信息的弹窗,继续运行选项和修改选项都可以点击,由开发人员检查后自行选择是要继续运行还是进行修改。
例如,当第一类为主类,第二类为分类时,如表1中所示,主类A及主类A的分类A+test中,存在同名方法A1,而表2中包含方法A1,因此会按照第一预设策略进行告警。而在主类C和分类C+test中,存在一个同名的方法C1,该方法C1并不在表2中。但是由于依然存在方法覆盖情况,是如配置表表3中所示的可能存在问题的方法,因此按照第二预设策略进行告警,以供开发人员检查确认是否存在问题。
表3.配置表
在本实施例中,通过将不包括在针对第一类和第二类预先设置的不能被覆盖实现的方法中的同名方法按照第二预设策略进行告警,能够与包括在预先设置的不能被覆盖实现的方法中的同名方法进行区分。通过显著程度的不同,直接直观地将结果展示出来,以便开发人员可以快速根据不同的告警显著程度去检查确认问题,进行修改。
另外,对于针对第一类和第二类预先设置的不能被覆盖实现的方法中包括的同名方法与其不包括的同名方法也都可以以第一预设策略进行告警,或者都以第二预设策略进行告警。具体方式可以由开发人员根据业务需要进行选择。
在本申请中,因为存在于预先设置的不能被覆盖实现的方法中的方法同名时,会发生因同名方法导致发生方法覆盖进而使得应用程序异常的情况。为了避免该情况的出现,需要在判断针对第一类和第二类预先设置的不能被覆盖实现的方法中包括同名方法时,拒绝运行该应用程序。因为不存在于预先设置的不能被覆盖实现的方法中的方法同名导致发生方法覆盖时,不一定会使得应用程序异常。因此,若判断针对第一类和第二类预先设置的不能被覆盖实现的方法中不包括同名方法,则暂停运行应用程序。由开发人员去进行检查,根据业务需要去选择是否继续运行该应用程序。
例如,当第一类为主类,第二类为分类时,主类A及主类A的分类A+test中,存在同名方法A1,而表2中包含方法A1,则拒绝运行该应用程序,以弹框的形式提醒开发人员只能对同名方法进行修改,不能继续运行该应用程序。当主类B和分类B+test中,存在一个不在表2中的同名方法B1,则暂停运行该应用程序,以弹框的形式提醒开发人员进行检查,由开发人员选择是继续运行该应用程序还是对同名方法进行修改。
在本申请中,如图2所示,图2为本实施例提供的另一种代码检测方法的流程图,在图1的基础上,在步骤S102之后还包括步骤S105,其中,
步骤S105,若第一类的方法和第二类的方法中不存在同名方法,则不进行告警。
在本实施例中,若在第一类的方法和第二类的方法中不存在同名方法,则未发生方法覆盖的情况,因此不需要再执行判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括同名方法的步骤。
如图3所示,图3为本实施例提供的又一种代码检测方法流程图,以IOS系统中的分类为例,预先设置的不能被覆盖实现的方法以表格形式给出,命名为不允许分类实现的方法映射表,其中,
步骤S301,录入不允许分类实现的方法映射表。
其中,该不允许分类实现的方法映射表中的内容为主类、分类与其分别对应的不能被覆盖实现的方法。该映射表可以由开发人员根据业务不同给出,也可以由机器根据官方文档中规定的不允许分类实现的方法。示例性的,该映射表可以如表2所示。主类A对应的不能被覆盖实现的方法为A1与A2。分类B+test中对应的不能被覆盖实现的方法为B2。
步骤S302,利用runtime机制获取所有的主类、分类及其对应实现的方法。
其中,获取所有的主类、分类及其对应的实现的方法如前文所述,在此不再赘述。
步骤S303,遍历所有主类与分类,判断其是否存在同名方法。
其中,获取到的同名方法是所有主类与分类中的多个同名方法。
步骤S304,检测同名方法是否存在于不允许分类实现的方法映射表中。
其中,若存在,则执行步骤S305,若不存在则执行步骤S306。
步骤S305,生成error信息。
其中,在不允许分类实现的方法映射表中的同名方法为开发人员给出的不应当实现的同名方法,因此生成error信息。
步骤S306,生成warning信息。
其中,在同名方法不存在于不允许分类实现的方法映射表中时,可以以warning信息提醒开发人员确认是否存在问题。
步骤S307,生成总的提示信息。
其中,通过总的提示信息,可以直观地展示出所有的error信息与warnning信息,以便开发人员进行检查。
在本实施例中,通过遍历所有主类与分类,获取其所有的同名方法。判断主类与分类中的多个同名方法是否存在于不允许分类实现的方法映射表中。在检测到存在于映射表中的同名方法时,生成error信息。在检测到不存在于映射表中的同名方法时,生成warning信息。最后,整合所有生成一个总的提示信息。通过这种方法可以直接地对所有的error信息和warning信息进行显示,使得开发人员可以更加方便、清楚地进行检查与修改。
基于相同的发明构思,本申请相应地提供了一种代码检测装置,如图4所示,图4为本发明实施例提供的代码检测装置的一种结构示意图,包括:
获取模块401,用于获取应用程序中的第一类的方法和第二类的方法,其中,第一类和第二类中一者为主类,另一者为分类,或者第一类和第二类中两者为同一主类下的不同分类;
第一判断模块402,用于判断第一类的方法和第二类的方法中是否存在同名方法;
第二判断模块403,用于在若第一类的方法和第二类的方法中存在同名方法,判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括同名方法;
第一告警模块404,用于如果第一类和第二类预先设置的不能被覆盖实现的方法中包括同名方法,则按照第一预设策略进行告警。
在本实施例中,在获取模块401获取到第一类的方法和第二类的方法之后,通过第一判断模块402判断这些方法中是否存在同名方法,如果存在同名方法,由第二判断模块403判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括同名方法,如果包括该同名方法,则由第一告警模块404按照第一预设策略进行告警,提醒开发人员进行检查与修改。通过这种方式,减少了在类中因方法覆盖而导致应用程序异常的问题的产生。
如图5所示,图5为本发明实施例提供的代码检测装置的另一种结构示意图,本申请提供的代码检测装置还可以包括:
第二告警模块405,用于在若判断针对第一类和第二类预先设置的不能被覆盖实现的方法中不包括同名方法时,按照第二预设策略进行告警,第二预设策略规定的告警显著程度低于第一预设策略规定的告警显著程度。
在一种可能的实施例中,该装置还包括:
因为在预先设置的不能被覆盖实现的方法中的方法同名,会导致发生方法覆盖而使得应用程序异常的情况出现。因此需要在判断针对第一类和第二类预先设置的不能被覆盖实现的方法中包括同名方法时,拒绝运行该应用程序。因为不存在于预先设置的不能被覆盖实现的方法中的同名方法导致方法覆盖时,不一定会使得应用程序异常。所以在判断针对第一类和第二类预先设置的不能被覆盖实现的方法中不包括同名方法时,暂停运行该应用程序。然后,由开发人员去进行检查后,选择是否要继续运行该应用程序或是对同名方法进行修改。
在一种可能的实施例中,该装置还包括:
在若所述第一类和所述第二类中不存在同名方法时,不进行告警。因为当第一类的方法和第二类的方法中不存在同名方法时,则说明没有出现因为方法同名而导致发生方法覆盖的情况出现,因此不需要再执行判断针对第一类和第二类预先设置的不能被覆盖实现的方法中是否包括同名方法的步骤。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获取应用程序中的第一类的方法和第二类的方法;
判断所述第一类的方法和所述第二类中是否存在同名方法,所述第一类和所述第二类中一者为主类,另一者为分类,或者所述第一类和所述第二类中两者为同一主类下的不同分类;
若所述第一类的方法和所述第二类的方法中存在所述同名方法,则判断针对所述第一类和所述第二类预先设置的不能被覆盖实现的方法中是否包括所述同名方法;
如果所述第一类和所述第二类预先设置的不能被覆盖实现的方法中包括所述同名方法,则按照第一预设策略进行告警。
上述电子设备提到的通信总线604可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口602用于上述电子设备与其他设备之间的通信。
存储器603可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器601可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一代码检测方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一代码检测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备、计算机可读存储介质以及计算机程序产品的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
- 一种液位检测装置和包含其的设备以及液位检测方法、电子设备及计算机可读存储介质
- 一种动目标检测方法、装置、电子设备及存储介质
- 一种卡顿检测方法、装置、电子设备和存储介质
- 报文预定义代码生成方法、装置、电子设备和存储介质
- 代码测试方法及装置、存储介质、电子设备
- 一种恶意代码检测方法、装置、电子设备及存储介质
- 一种前端代码文件检测方法、装置及电子设备和存储介质