一种代码检测方法及装置制造方法及图纸

技术编号:20285199 阅读:30 留言:0更新日期:2019-02-10 17:48
本申请的实施例提供一种代码检测方法及装置,涉及通信技术领域,可以降低因原生代码升级引发的原生代码与扩展代码之间的冲突现象,降低扩展代码对原生代码的破坏性。该方法包括:检测设备获取目标原生代码和目标扩展代码,该目标扩展代码为基于该目标原生代码得到的;该检测设备通过比较该目标原生代码和该目标扩展代码,将该目标扩展代码划分为N个连续的代码块,N≥1;该检测设备对该N个代码块中的至少一个代码块进行评估,得到该目标扩展代码的评估结果,该评估结果用于指示该目标扩展代码发生冲突现象的几率;该检测设备显示该评估结果。

A Code Detection Method and Device

The embodiment of this application provides a code detection method and device, which relates to the field of communication technology. It can reduce the conflict between the original code and the extended code caused by the upgrade of the original code, and reduce the destructive effect of the extended code on the original code. The method includes: the detection device obtains the target native code and the target extended code based on the target native code; the detection device divides the target extended code into N consecutive code blocks by comparing the target native code and the target extended code; the detection device performs at least one code block in the N code blocks. The evaluation results are used to indicate the probability of collision between the target extension codes, and the detection device displays the evaluation results.

【技术实现步骤摘要】
一种代码检测方法及装置
本申请实施例涉及通信
,尤其涉及一种代码检测方法及装置。
技术介绍
目前,许多开发商选择在原生操作系统(例如安卓)的原生代码上开发自己的扩展操作系统,例如,小米基于安卓的原生代码开发出的MIUI操作系统,华为基于安卓的原生代码开发出的EMUI(EmotionUserInterface)操作系统等。这些扩展操作系统的代码可称为扩展代码,扩展代码一般是在原生代码的基础上对原生代码进行一些修改后得到的。例如,如图1所示,开发人员基于安卓版本3.0中的原生代码11,将该原生代码11中的第一代码段101修改为第二代码段102,得到扩展操作系统A的扩展代码12。而基于原生代码11的安卓版本3.0会不定期升级,那么,如果在升级安卓版本4.0的过程中上述第一代码段101被修改为第三代码段103,则升级后的原生代码11与扩展代码12在第三代码段103的位置出现冲突现象,此时,扩展操作系统A很可能无法兼容升级后的安卓版本4.0。需要开发人员对扩展代码12进行代码重组、功能重构等大量工作支持升级后的安卓版本4.0。
技术实现思路
本申请的实施例提供一种代码检测方法及装置,可以降低因原生代码升级引发的原生代码与扩展代码之间的冲突现象,降低扩展代码对原生代码的破坏性。为达到上述目的,本申请的实施例采用如下技术方案:第一方面,本申请的实施例提供一种代码检测方法,包括:检测设备获取目标原生代码和目标扩展代码,该目标扩展代码为基于该目标原生代码得到的;进而,检测设备可通过比较该目标原生代码和该目标扩展代码,将该目标扩展代码划分为N个连续的代码块,N≥1;那么,检测设备可对该N个代码块中的至少一个代码块进行评估,从而得到该目标扩展代码的评估结果,该评估结果指示了该目标扩展代码发生冲突现象的几率;这样,检测设备显示该评估结果后,可以使得开发人员直观清楚的明确当前目标扩展代码对目标原生代码的破坏性越,以便开发人员准确对目标原生代码中容易发生冲突的地方准确定位,降低后续原生代码与扩展代码之间的冲突现象。在一种可能的设计方法中,该检测设备在显示界面中显示该评估结果,包括:该检测设备使用不同色块在显示界面中显示该N个代码块,其中,每个代码块的颜色用于指示该代码块的代码块类型,每个色块的大小用于指示该代码块的大小,不同代码块类型的代码块发生冲突现象的几率不同,从而形象的向用户展示出目标扩展代码中哪一部分容易发生冲突现象,以及发生冲突现象的严重程度等,方便用户对目标扩展代码进行优化。在一种可能的设计方法中,在该检测设备在显示界面中显示该评估结果之后,还包括:当检测到用户触发该N个代码块中第一代码块所在的色块时,该检测设备显示评估该第一代码块时的评估细节,使用户详细了解该代码块出现冲突的风险。在一种可能的设计方法中,由于不同代码块类型的代码块对原生代码的破坏性一般是不同的,因此,检测设备对该N个代码块中的至少一个代码块进行评估,得到该目标扩展代码的评估结果,包括:对于该至少一个N个代码块中的每个代码块,该检测设备按照该代码块的代码块类型对该代码块进行打分;该检测设备将得到的该至少一个代码块的打分信息作为该目标扩展代码的评估结果。在一种可能的设计方法中,除了代码块的代码块类型,目标扩展代码中每个代码块的大小以及代码块的总数,也会影响对目标原生代码的破坏性大小,因此,检测设备按照该代码块的代码块类型对该代码块进行打分,包括:该检测设备按照该代码块的代码块类型和该代码块的大小,对该代码块进行打分。在一种可能的设计方法中,该检测设备通过比较该目标原生代码和该目标扩展代码,将该目标扩展代码划分为N个连续的代码块,包括:该检测设备通过比较该目标原生代码和该目标扩展代码,将该目标扩展代码中与该目标原生代码连续相同的代码段落作为一个代码块,并将该目标扩展代码中与该目标原生代码连续不同的代码段落作为一个代码块,得到N个连续的代码块。在一种可能的设计方法中,检测设备获取目标原生代码和目标扩展代码,包括:该检测设备获取用户输入的采集路径;该检测设备根据该采集路径,采集该目标原生代码和该目标扩展代码。在一种可能的设计方法中,在该检测设备显示该评估结果之后,还包括:该检测设备在显示界面中显示对该目标扩展代码的修改策略;响应于用户对该修改策略的触发操作,该检测设备执行该修改策略。其中,该修改策略包括:转换代码块的代码块类型(即将目标扩展代码中发生冲突风险较大的代码块,转换为发生冲突风险较小的类型的代码块),和/或,合并该目标扩展代码中的至少两个代码块(使得目标扩展代码的代码块的总数越少、代码块的大小越大,从而降低目标扩展代码对目标原生代码的破坏性)。在一种可能的设计方法中,在该检测设备对该N个代码块中的至少一个代码块进行评估,得到该目标扩展代码的评估结果之后,还包括:当该评估结果不符合预设的入库条件时,该检测设备禁止该目标扩展代码从开发环境投入生产环境中的代码库运行。这样一来,可以严格把控投入代码库中运行的扩展代码的代码质量,有效避免对原生代码破坏性较大的扩展代码投入使用,从而降低因原生代码升级引发的原生代码与扩展代码之间的冲突现象。第二方面,本申请的实施例提供一种检测设备,包括:获取单元,用于获取目标原生代码和目标扩展代码,该目标扩展代码为基于该目标原生代码得到的;划分单元,用于通过比较该目标原生代码和该目标扩展代码,将该目标扩展代码划分为N个连续的代码块,N≥1;评估单元,用于对该N个代码块中的至少一个代码块进行评估,得到该目标扩展代码的评估结果,该评估结果用于指示该目标扩展代码发生冲突现象的几率;显示单元,用于显示该评估结果。在一种可能的设计方法中,该显示单元,具体用于使用不同色块在显示界面中显示该N个代码块,其中,每个代码块的颜色用于指示该代码块的代码块类型。在一种可能的设计方法中,该显示单元,还用于当检测到用户触发该N个代码块中第一代码块所在的色块时,显示评估该第一代码块时的评估细节。在一种可能的设计方法中,该评估单元,具体用于对于该至少一个N个代码块中的每个代码块,按照该代码块的代码块类型对该代码块进行打分;将得到的该至少一个代码块的打分信息作为该目标扩展代码的评估结果在一种可能的设计方法中,该评估单元,具体用于按照该代码块的代码块类型和该代码块的大小,对该代码块进行打分在一种可能的设计方法中,该划分单元,具体用于通过比较该目标原生代码和该目标扩展代码,将该目标扩展代码中与该目标原生代码连续相同的代码段落作为一个代码块,并将该目标扩展代码中与该目标原生代码连续不同的代码段落作为一个代码块,得到N个连续的代码块。在一种可能的设计方法中,该获取单元,具体用于获取用户输入的采集路径;根据该采集路径,采集该目标原生代码和该目标扩展代码。在一种可能的设计方法中,该显示单元,还用于备显示对该目标扩展代码的修改策略;该检测设备还包括执行单元,用于响应于用户对该修改策略的触发操作,执行该修改策略,该修改策略包括:转换代码块的代码块类型,和/或,合并该目标扩展代码中的至少两个代码块。在一种可能的设计方法中,执行单元,还用于当该评估结果不符合预设的入库条件时,禁止该目标扩展代码从开发环境投入生产环境中的代码库运行。第三方面,本申请的实施例提供一种本文档来自技高网...

【技术保护点】
1.一种代码检测方法,其特征在于,包括:检测设备获取目标原生代码和目标扩展代码,所述目标扩展代码为基于所述目标原生代码得到的;所述检测设备通过比较所述目标原生代码和所述目标扩展代码,将所述目标扩展代码划分为N个连续的代码块,N≥1;所述检测设备对所述N个代码块中的至少一个代码块进行评估,得到所述目标扩展代码的评估结果,所述评估结果用于指示所述目标扩展代码发生冲突现象的几率;所述检测设备显示所述评估结果。

【技术特征摘要】
1.一种代码检测方法,其特征在于,包括:检测设备获取目标原生代码和目标扩展代码,所述目标扩展代码为基于所述目标原生代码得到的;所述检测设备通过比较所述目标原生代码和所述目标扩展代码,将所述目标扩展代码划分为N个连续的代码块,N≥1;所述检测设备对所述N个代码块中的至少一个代码块进行评估,得到所述目标扩展代码的评估结果,所述评估结果用于指示所述目标扩展代码发生冲突现象的几率;所述检测设备显示所述评估结果。2.根据权利要求1所述的方法,其特征在于,所述检测设备在显示界面中显示所述评估结果,包括:所述检测设备使用不同色块在显示界面中显示所述N个代码块,其中,每个代码块的颜色用于指示该代码块的代码块类型。3.根据权利要求2所述的方法,其特征在于,在所述检测设备在显示界面中显示所述评估结果之后,还包括:当检测到用户触发所述N个代码块中第一代码块所在的色块时,所述检测设备显示评估所述第一代码块时的评估细节。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述检测设备对所述N个代码块中的至少一个代码块进行评估,得到所述目标扩展代码的评估结果,包括:对于所述至少一个N个代码块中的每个代码块,所述检测设备按照该代码块的代码块类型对该代码块进行打分;所述检测设备将得到的所述至少一个代码块的打分信息作为所述目标扩展代码的评估结果。5.根据权利要求4所述的方法,其特征在于,所述检测设备按照该代码块的代码块类型对该代码块进行打分,包括:所述检测设备按照该代码块的代码块类型和该代码块的大小,对该代码块进行打分。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述检测设备通过比较所述目标原生代码和所述目标扩展代码,将所述目标扩展代码划分为N个连续的代码块,包括:所述检测设备通过比较所述目标原生代码和所述目标扩展代码,将所述目标扩展代码中与所述目标原生代码连续相同的代码段落作为一个代码块,并将所述目标扩展代码中与所述目标原生代码连续不同的代码段落作为一个代码块,得到N个连续的代码块。7.根据权利要求1-6中任一项所述的方法,其特征在于,检测设备获取目标原生代码和目标扩展代码,包括:所述检测设备获取用户输入的采集路径;所述检测设备根据所述采集路径,采集所述目标原生代码和所述目标扩展代码。8.根据权利要求1-7中任一项所述的方法,其特征在于,在所述检测设备显示所述评估结果之后,还包括:所述检测设备显示对所述目标扩展代码的修改策略;响应于用户对所述修改策略的触发操作,所述检测设备执行所述修改策略。9.根据权利要求8所述的方法,其特征在于,所述修改策略包括:转换代码块的代码块类型,和/或,合并所述目标扩展代码中的至少两个代码块。10.根据权利要求1-9中任一项所述的方法,其特征在于,在所述检测设备对所述N个代码块中的至少一个代码块进行评估,得到所述目标扩展代码的评估结果之后,还包括:当所述评估结果不符合预设的入库条件时,所述检测设备禁止所述目标扩展代码从开发环境投入生产环境中的代码库运行。11.一种检测...

【专利技术属性】
技术研发人员:陈晓晓陈浩童碧峰涂小兵吕洪雨马宇驰桂汪海周平科周犇林英禄东巍
申请(专利权)人:华为终端东莞有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1