一种ccb文件的检测方法和装置制造方法及图纸

技术编号:19964226 阅读:47 留言:0更新日期:2019-01-03 12:49
本发明专利技术实施例公开了一种ccb文件的检测方法及装置,通过读取和解析第一ccb文件,得到第一ccb文件中的成员变量和变量类型,读取和解析第二ccb文件,得到第二ccb文件中的成员变量和变量类型,再遍历比对第一ccb文件中的成员变量和变量类型以及第二ccb文件中的成员变量和变量类型,查找得到第一ccb文件和第二ccb文件中不同的成员变量,实现对不同ccb文件的自动读取、解析和比对,得到第一ccb文件和第二ccb文件的异同,提高了ccb文件检测的效率,同时,避免人工比对可能出现的主观错误,提高了ccb文件检测的准确性。

A method and device for detecting CCB files

The embodiment of the present invention discloses a method and device for detecting a CCB file. By reading and analyzing the first CCB file, the member variables and variable types in the first CCB file are obtained, the second CCB file is read and analyzed, the member variables and variable types in the second CCB file are obtained, and then the member variables and variable types in the first CCB file are traversed and compared with those in the second CCB file. The member variables and variable types are searched to get different member variables in the first CCB file and the second CCB file. The automatic reading, parsing and comparison of different CCB files are realized. The similarities and differences between the first CCB file and the second CCB file are obtained, which improves the efficiency of CCB file detection. At the same time, it avoids possible subjective errors in manual comparison and improves the accuracy of CCB file detection.

【技术实现步骤摘要】
一种ccb文件的检测方法和装置
本专利技术涉及软件
,特别是涉及一种ccb文件的检测方法和装置。
技术介绍
ccb文件是cocosbuilder制作生成的文件,可以供cocos2dx引擎读取后显示用户界面(UserInterface,简称UI)。目前的许多应用采用ccb文件进行UI的布局和显示,如大型游戏。在有些应用中,需要能够向用户提供多语言的UI。为了开发出多语言的UI,一种语言下的ccb文件可以被复制并通过cocosbuilder修改其相应的语言内容为另一种语言,从而得到多种语言下的多个ccb文件。当某种语言下的某个ccb文件有所修改时,需要检测该ccb文件的修改是否会影响到其他语言下的相应ccb文件,从而避免这种影响引起应用程序崩溃。目前,ccb文件通常的检测方式在于,以cocosbuilder打开需要检测的两个ccb文件,技术人员比对cocosbuilder显示出的两个ccb文件的代码,从而确定是否存在上述影响。但这种人工比对的方式不仅费时费力而且错误率较高。
技术实现思路
为解决上述技术问题,本申请实施例提供一种ccb文件的检测方法和装置,以实现对ccb文件的自动检测,本文档来自技高网...

【技术保护点】
1.一种ccb文件的检测方法,其特征在于,包括:读取第一ccb文件,并对所述第一ccb文件进行解析,得到所述第一ccb文件中的成员变量和变量类型;读取第二ccb文件,并对所述第二ccb文件进行解析,得到所述第二ccb文件中的成员变量和变量类型;通过遍历所述第一ccb文件中的成员变量和变量类型以及遍历所述第二ccb文件中的成员变量和变量类型,查找第一成员变量、第二成员变量及第三成员变量;其中,所述第一成员变量属于所述第一ccb文件中的成员变量但不属于所述第二ccb文件中的成员变量,所述第二成员变量属于所述第二ccb文件中的成员变量但不属于所述第一ccb文件中的成员变量,所述第三成员变量既属于所述...

【技术特征摘要】
1.一种ccb文件的检测方法,其特征在于,包括:读取第一ccb文件,并对所述第一ccb文件进行解析,得到所述第一ccb文件中的成员变量和变量类型;读取第二ccb文件,并对所述第二ccb文件进行解析,得到所述第二ccb文件中的成员变量和变量类型;通过遍历所述第一ccb文件中的成员变量和变量类型以及遍历所述第二ccb文件中的成员变量和变量类型,查找第一成员变量、第二成员变量及第三成员变量;其中,所述第一成员变量属于所述第一ccb文件中的成员变量但不属于所述第二ccb文件中的成员变量,所述第二成员变量属于所述第二ccb文件中的成员变量但不属于所述第一ccb文件中的成员变量,所述第三成员变量既属于所述第一ccb文件中的成员变量又属于所述第二ccb文件中的成员变量,所述第三成员变量在所述第一ccb文件中的变量类型与所述第三成员变量在所述第二ccb文件中的变量类型不同;将所述第一成员变量、所述第二成员变量、所述第三成员变量、所述第三成员变量在所述第一ccb文件中的变量类型和所述第三成员变量在所述第二ccb文件中的变量类型输出为检测结果。2.根据权利要求1所述的方法,其特征在于,所述读取第一ccb文件,包括:调用用于读取数据的应用程序编程接口API对所述第一ccb文件进行读入,生成所述第一ccb文件的数据集合。3.根据权利要求1所述的方法,其特征在于,所述读取第二ccb文件,包括:调用用于读取数据的应用程序编程接口API对所述第二ccb文件进行读入,生成第二ccb文件的数据集合。4.根据权利要求1所述的方法,其特征在于,所述对所述第一ccb文件进行解析,得到所述第一ccb文件中的成员变量和变量类型,包括:通过递归函数对所述第一ccb文件的元素节点进行遍历;当遍历到的元素节点的类型为Vector或Map时,通过所述递归函数对所述元素节点的子元素节点进行遍历;当遍历到的元素节点的类型值为String时,根据所述元素节点的键和值确定所述第一ccb文件中的成员变量和变量类型;将确定出的所述第一ccb文件中的成员变量和变量类型记录到第一容器。5.根据权利要求1所述的方法,其特征在于,所述对所述第二ccb文件进行解析,得到所述第二ccb文件中的成员变量和变量类型,包括:通过递归函数对所述第二ccb文件的元素节点进行遍历;当遍历到的元素节点的类型为Vector或Map时,通过所述递归函数对所述元素节点的子元素节点进行遍历;当遍历到的元素节点的类型值为String时,根据所述元素节点的键和值确定所述第二ccb文件中的成员变量和变量类型;将确定出的所述第二ccb文件中的成员变量和变量类型记录到第二容器。6.根据权利要求1所述的方法,其特征在于,通过遍历所述第一ccb文件中的成员变量和变量类型以及遍历所述第二ccb文件中的成员变量和变量类型,查找第一成员变量、第二成员变量及第三成员变量,包括:遍历所述第一ccb文件的每个成员变量,查找是否存在于所述第二ccb文件的成员变量中;当所述第一ccb文件中被遍历到的成员变量没有存在于所述第二ccb文件的成员变量中,将所述成员变量确定为所述第一成员变量;当所述第一ccb文件中被遍历到的成员变量存在于所述第二ccb文件的成员变量中,确定所述成员变量在所述第一ccb文件中的变量类型与所述成员变量在所述第二ccb文件中的变量类型是否相同,若不不相同则将所述成员变量确定为所述第三成员变量;遍历所述第二ccb文件的每个成员变量,查找是否存在于所述第一ccb文件的成员变量中;当所述第二ccb文件中被遍历到的成员变量没有存在于所述第一ccb文件的成员变量中,将所述成员变量确定为所述第二成员变量;当所述第二ccb文件中被遍历到的成员变量存在于所述第一ccb文件的成员变量中,确定所述成员变量在所述第一ccb文件中的变量类型与所述成员变量在所述第二ccb文件中的变量类型是否相同,若不相同则将所述成员变量确定为所述第三成员变量。7.根据权利要求1所述的方法,其特征在于,所述将所述第一成员变量、所述第二成员变量、所述第三成员变量、所述第三成员变量在所述第一ccb文件中的变量类型和所述第三成员变量在所述第二ccb文件中的变量类型输出为检测结果,包括:当查找出所述第一成员变量时,将所述第一成员变量记录成所述检测结果中的第一错误条目;当查找出所述第二成员变量时,将所述第二成员变量记录成所述检测结果中的第二错误条目;当查找出所述第三成员变量时,将所述第三成员变量以及所述第三成员变量在所述第一ccb文件中的变量类型和所述第三成员变量在所述第二ccb文件中的变量类型记录成所述检测结果中...

【专利技术属性】
技术研发人员:郭凯
申请(专利权)人:北京龙创悦动网络科技有限公司
类型:发明
国别省市:北京,11

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

1