掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理的方法、装置和存储介质

文献发布时间:2023-06-19 09:24:30


一种数据处理的方法、装置和存储介质

技术领域

本申请涉及计算机技术领域,尤其涉及一种数据处理的方法、装置和存储介质。

背景技术

移动应用主要应用于被Android、iOS两大平台。一般为了降低移动应用的开发效率,并降低研发成本,跨平台进行移动应用的开发已成为趋势。跨平台的移动应用开发主要基于React Native、Weex和Angular三大框架,其中以React Native的应用最为广泛。

React Native官方只提供了一些基础应用程序编程接口(ApplicationProgramming Interface,API)和组件。在实际使用中,各个公司都需要针对本身业务需求,再另外开发API和组件。对于程序开发人员来说,日常工作除了编写代码外,还需要在撰写API文档上花费大量精力。因此,文档维护成为了开发者亟待解决的一个难题。

在实际应用中,通过设置文档自动生成工具自动生成API文档,以解决文档维护问题。许多现代编程语言都有自己的集成化文档生成工具,如Java有JavaDoc,.NET有NDoc,PHP有PHPDoc,Javascript中也有根据注释信息来生成文档的自动化文档生成工具,如JSDoc和JsDoc Toolkit。这些自动化文档工具可以根据代码中的注释自动生成代码文档。但现有的文档生成工具基本全都依赖于开发人员编写的注解或注释。而编写合乎规范的注释信息对于程序开发人员来说也是很耗费时间和精力的,如果忘记写注释或者的注释信息不符合规范,那么最终生成的文档内容就不完善。另外,在React Native框架中,一般的JavaScript文档生成工具还不能完全适用。

发明内容

本申请实施例提供了一种数据处理的方法,该方法通过分别在Android平台和IOS平台中查找预设标记的代码内容,并在没有预设标记的情况下,根据模板自动生成与原生代码相关的属性或者方法的代码文档,克服了维护代码文档而产生的人力成本的缺陷。

该方法包括:

获取需要生成代码文档的代码文件路径;

在所述代码文件中分别查询第一函数和第二函数标记的代码内容,其中,所述第一函数和所述第二函数用于标记Android文件和IOS文件中的原生代码内容;

当所述第一函数和所述第二函数标记的所述原生代码内容没有对应的注释信息时,将需要显示的所述原生代码内容按照预先设定的模板中的对应的内容进行替换,并生成原生代码文档。

可选地,分别为替换后的属于所述Android文件和所述IOS文件的所述原生代码内容标记第一标记和第二标记,其中,所述第一标记表示所述原生代码内容仅存在于Android平台,所述第二标记表示所述原生代码内容仅存在于IOS平台。

可选地,当所述第一函数和所述第二函数标记的代码内容有对应的注释信息时,获取所述第一函数和所述第二函数标记的代码内容对应的注释信息,并根据所述注释信息生成所述原生代码文档。

可选地,获取所述代码文件中的各个注释信息;

根据所述各个注释信息和所述原生代码文档,生成最终代码文档。

在本发明的另一个实施例中,提供了一种数据处理的装置,该装置包括:

第一获取模块,用于获取需要生成代码文档的代码文件路径;

查询模块,用于在所述代码文件中分别查询第一函数和第二函数标记的代码内容,其中,所述第一函数和所述第二函数用于标记Android文件和IOS文件中的原生代码内容;

第一生成模块,用于当所述第一函数和所述第二函数标记的所述原生代码内容没有对应的注释信息时,将需要显示的所述原生代码内容按照预先设定的模板中的对应的内容进行替换,并生成原生代码文档。

可选地,该装置还包括:

标记模块,用于分别为替换后的属于所述Android文件和所述IOS文件的所述原生代码内容标记第一标记和第二标记,其中,所述第一标记表示所述原生代码内容仅存在于Android平台,所述第二标记表示所述原生代码内容仅存在于IOS平台。

可选地,该装置还包括:

第二获取模块,用于当所述第一函数和所述第二函数标记的代码内容有对应的注释信息时,获取所述第一函数和所述第二函数标记的代码内容对应的注释信息,并根据所述注释信息生成所述原生代码文档。

可选地,该装置还包括:

第三获取模块,用于获取所述代码文件中的各个注释信息;

第二生成模块,用于根据所述各个注释信息和所述原生代码文档,生成最终代码文档。

在本发明的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时使得所述处理器执行上述一种数据处理的方法中的各个步骤。

在本发明的另一个实施例中,提供了一种终端设备,包括处理器,所述处理器用于执行上述一种数据处理的方法中的各个步骤。

如上可见,基于上述实施例,首先获取需要生成代码文档的代码文件路径,其次,在代码文件中分别查询第一函数和第二函数标记的代码内容,其中,第一函数用于标记Android文件中的代码内容,第二函数用于标记IOS文件中的代码内容,最后,当第一函数和第二函数标记的代码内容没有对应的注释信息时,将需要显示的代码内容按照预先设定的模板中的对应的内容进行替换,并生成原生代码文档。本申请实施例通过分别在Android文件和IOS文件中查找预设标记的代码内容,并在没有预设标记的情况下,将原生代码中相关的属性或者方法放进预先设定的模板中对应的位置,生成原生代码文档,减少了程序开发人员的文档维护成本,并提升了代码文档的可读性。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本申请实施例10所提供的一种数据处理的方法中的示意图;

图2示出了本申请提供的实施例20中一种数据处理的方法的具体流程的示意图;

图3示出了本申请实施例30还提供一种数据处理的装置的示意图;

图4示出了本申请实施例40所提供的一种终端设备的示意图。

具体实施方式

为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。

基于现有技术中的问题,本申请实施例提供了一种数据处理的方法,通过分别在Android平台和IOS平台中查找预设标记的代码内容,并在没有预设标记的情况下,根据预设模板自动生成与原生代码相关的属性或者方法的代码文档,减少了维护代码文档的成本。

本申请的应用领域主要是在计算机技术领域中,主要针对React Native框架。React Native框架是一种支持Android平台和IOS平台的开源的跨平台移动应用开发框架,在Andoird和IOS两端都使用原生实现,然后封装成统一接口,并对外调用。前端开发人员使用JavaScript调用相关接口来使用。

如图1所示,为本申请实施例10所提供的一种数据处理的方法中的流程的示意图。其中,详细步骤如下:

S11,获取需要生成代码文档的代码文件路径。

本步骤中,代码文档一般为Java script文件。在React Native框架中,一般用Java script语言对前端业务部分进行开发。使用React Native框架开发的代码,其文档内容主要包含API和组件中的各个属性和方法的使用说明。这里,获取需要生成代码文档的代码文件路径,一般为Java script文件路径。

S12,在代码文件中分别查询第一函数和第二函数标记的代码内容。

本步骤中,在获取了上述代码文件后,在代码文件中分别查询第一函数和第二函数标记的代码内容。其中,第一函数和第二函数用于标记Android文件和IOS文件中的原生代码内容。具体的,React Native的原生代码部分包含API和组件,会在特定的地方注册,需要在代码文件中查找以第一函数@ReactMethod或@RCT_EXPORT_METHOD和第二函数@ReactProp或@RCT_EXPORT_VIEW_PROPERTY标记的原生代码内容。其中,@ReactMethod和@ReactProp用于在Android文件中标记原生代码内容,而@RCT_EXPORT_METHOD和@RCT_EXPORT_VIEW_PROPERTY用于在IOS中标记原生代码内容。在Android和IOS的原生代码中查找第一函数和第二函数分别标记的相关原生代码内容。

S13,当第一函数和第二函数标记的原生代码内容没有对应的注释信息时,将需要显示的原生代码内容按照预先设定的模板中的对应的内容进行替换,并生成原生代码文档。

本步骤中,在查找到第一函数@ReactMethod或@RCT_EXPORT_METHOD和第二函数@ReactProp或@RCT_EXPORT_VIEW_PROPERTY标记的原生代码内容中没有添加对应的注释信息时,根据预先设定的包含方法名称以及参数内容的模板,根据其中对应的内容,将原生代码的相应内容进行替换。如在Android端查找到如下原生代码内容:

@ReactMethod

Public void show(String msg,int duration,int type)

其中,属性内容是show,参数有三个,分别是msg:String类型,duration:int类型,type:int类型。根据预设模板中的参数名称和预设类型生成如下原生代码文档:

Show:function(

message:string,

duration:number,

type:number,

):void

经过上述替换,生成如上简单的原生代码文档,前端开发人员可以一目了然。

基于本申请的上述实施例,首先获取需要生成代码文档的代码文件路径,其次,在代码文件中分别查询第一函数和第二函数标记的代码内容,其中,第一函数和第二函数用于标记Android文件和IOS文件中的原生代码内容,最后,当第一函数和第二函数标记的原生代码内容没有对应的注释信息时,将需要显示的原生代码内容按照预先设定的模板中的对应的内容进行替换,并生成原生代码文档。本申请实施例通过分别在Android文件和IOS文件中查找预设标记的代码内容,并在没有预设标记的情况下,将原生代码中相关的属性或者方法放进预先设定的模板中对应的位置,生成原生代码文档,减少了程序开发人员的文档维护成本,并提升了代码文档的可读性。

如图2所示,为本申请提供的实施例20提供的一中数据处理的方法的具体流程的示意图。其中,该具体流程的详细过程如下:

S201,获取需要生成代码文档的代码文件路径。

S202,在Android文件中查找第一函数和第二函数标记的代码内容。

S203,在IOS文件中查找第一函数和第二函数标记的代码内容。

S204,判断标记的代码内容是否带有注释信息。

S205,添加第一标记和第二标记。

本步骤中,分别为替换后的属于Android文件和IOS文件的原生代码内容标记第一标记和第二标记。其中,第一标记表示原生代码内容仅存在于Android平台,第二标记表示原生代码内容仅存在于IOS平台。具体的,Android和iOS两个平台中的某些特性可能存在差异,比如iOS的侧滑返回特性。此时,针对两个平台各自特有的属性或者方法,加上Androidonly的第一标记和iOS only的第二标记作为提示。

S206,当带有注释信息时,直接使用注释信息。

本步骤中,当第一函数和第二函数标记的代码内容有对应的注释信息时,获取第一函数和第二函数标记的代码内容对应的注释信息,并根据注释信息生成原生代码文档。如果第一函数@ReactMethod或@RCT_EXPORT_METHOD和第二函数@ReactProp或@RCT_EXPORT_VIEW_PROPERTY标记的内容中已经携带注释信息,可以直接将这部分注释信息作为文档内容。

S207,未带有注释信息时,根据模板生成原生代码文档。

S208,获取代码文件中的各个注释信息。

这里,一般利用JSDoc 3.0等现有技术对代码文档汇中的各个注释信息进行抓取。JSDoc用于标注Java script源代码的语言。使用包含JsDoc定义的注释信息,可以在Javascript的注释信息中提取API文档。其中,这里获取的代码文件中的各个注释信息一般不包括Android和iOS文件的原生部分。

S209,生成最终代码文档。

这里,根据上述在Android和iOS文件中抓取的原生代码文档或者注释信息生成的文档和在其它代码文件中抓取的注释信息,生成最终代码文档。具体的,通过一系列工具进行批量处理,最终生成HTML或者Rich Text Format等格式的API文档,以将文档内容展示出来,如展示在浏览器上,供其他开发人员参考。

本申请实施例提供了一种针对使用React Native框架开发的代码文档的自动生成方案,除了抓取Java Script中的注释信息,还会在Android和iOS文件的原生代码里查找含有预设标记为第一函数@ReactMethod或@RCT_EXPORT_METHOD以及第二函数@ReactProp或@RCT_EXPORT_VIEW_PROPERTY标记的内容的方法,并在没有注释信息的情况下,根据预设模版也能自动生成原生代码的相关属性或者方法的原生代码文档,以生成相应的最终代码文档。减少文档的维护成本,并提升了代码文档的可读性。

基于同一发明构思,本申请实施例30还提供一种数据处理的装置,其中,如图3所示,该装置包括:

第一获取模块31,用于获取需要生成代码文档的代码文件路径;

查询模块32,用于在所述代码文件中分别查询第一函数和第二函数标记的代码内容,其中,所述第一函数和所述第二函数用于标记Android文件和IOS文件中的原生代码内容;

第一生成模块33,用于当所述第一函数和所述第二函数标记的所述原生代码内容没有对应的注释信息时,将需要显示的所述原生代码内容按照预先设定的模板中的对应的内容进行替换,并生成原生代码文档。

本实施例中,第一获取模块31、查询模块32和第一生成模块33的具体功能和交互方式,可参见图1对应的实施例的记载,在此不再赘述。

可选地,该装置还包括:

标记模块34,用于分别为替换后的属于所述Android文件和所述IOS文件的所述原生代码内容标记第一标记和第二标记,其中,所述第一标记表示所述原生代码内容仅存在于Android平台,所述第二标记表示所述原生代码内容仅存在于IOS平台。

可选地,该装置还包括:

第二获取模块35,用于当所述第一函数和所述第二函数标记的代码内容有对应的注释信息时,获取所述第一函数和所述第二函数标记的代码内容对应的注释信息,并根据所述注释信息生成所述原生代码文档。

可选地,该装置还包括:

第三获取模块36,用于获取所述代码文件中的各个注释信息;

第二生成模块37,用于根据所述各个注释信息和所述原生代码文档,生成最终代码文档。

如图4所示,本申请的又一实施例40还提供一种终端设备,包括处理器40,其中,处理器40用于执行上述一种数据处理的方法的步骤。

从图4中还可以看出,上述实施例提供的终端设备还包括非瞬时计算机可读存储介质41,该非瞬时计算机可读存储介质41上存储有计算机程序,该计算机程序被处理器40运行时执行上述一种数据处理的方法的步骤。

具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘和FLASH等,该存储介质上的计算机程序被运行时,能够执行上述的一种数据处理的方法。

最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 数据处理装置、数据处理系统、数据处理方法、数据处理程序及存储介质
  • PET 数据处理方法、PET 数据处理装置、计算机可读的存储介质、以及数据处理方法
技术分类

06120112159004