CN109725932A - 一种应用组件的说明文档生成方法和装置 - Google Patents

一种应用组件的说明文档生成方法和装置 Download PDF

Info

Publication number
CN109725932A
CN109725932A CN201711042440.3A CN201711042440A CN109725932A CN 109725932 A CN109725932 A CN 109725932A CN 201711042440 A CN201711042440 A CN 201711042440A CN 109725932 A CN109725932 A CN 109725932A
Authority
CN
China
Prior art keywords
application component
file stream
information
preset format
stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711042440.3A
Other languages
English (en)
Other versions
CN109725932B (zh
Inventor
白玉洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201711042440.3A priority Critical patent/CN109725932B/zh
Publication of CN109725932A publication Critical patent/CN109725932A/zh
Application granted granted Critical
Publication of CN109725932B publication Critical patent/CN109725932B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用组件的说明文档生成方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:从获取的预设格式的应用组件文件流中提取样式信息和脚本信息;根据样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流;通过预设的文本解析器解析所述预设格式的应用组件文件流以得到说明文本文件流;根据所述用例文件流和所述说明文本文件流生成所述应用组件的说明文档。该实施方式能够代替人工处理方式,节省了大量的时间和人力物力,避免文档后置撰写而遗忘了先前的设计想法,并避免编码变更还要进行调整和修改生成的文档的问题,且生成的说明文档更具有规格统一性,适合大范围使用和成批生成,生成过程相对简单。

Description

一种应用组件的说明文档生成方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用组件的说明文档生成方法和装置。
背景技术
基于Javascript(一种基于新的ES6标准使它成为前后端都可使用的语言)为核心的架构从Grunt(一个基于任务的JavaScript工程命令行构建工具)、Gulp(一种基于流的,代码优于配置的新一代构建工具)到Webpack(基于NodeJs的一种Javascript架构,负责图片、文件和脚本等内容的编译打包),每一个架构都提供了更先进和更好的编译打包方式。从开发角度,组件设计完成后通常花费相当长的时间去润色谱写精致的文档,以方便使用者进行更好的体验。除了需要花费过多的时间去写文档用例、API(应用程序接口)和润色文档的介绍,在谱写的过程中还会遗忘设计师当初的精妙绝伦的想法,此外,一份文档要经过很长时间才会完成,而说明文档在完成之后才能被使用,这样的速度无疑不能满足新技术的发布需求。
从开发者角度来说,软件应用规范的设计流程从需求、概要、详细、编码、测试、撰写文档说明并交付验收。从编码开始到撰写文档,在完成编码和测试环节后,再去编写对应的软件使用文档说明,这个过程耗时长而且写的内容常常会有疏漏。通常写文档都会比编码和测试的速度慢很多,因此这个周期会耗费大量的人力物力。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
耗时长,设计者需要从头到尾进行回想撰写文档;
文档谱写浪费过多的人力物力;
内容不细致,文档后置撰写的问题就是遗忘了先前的设计想法;
用例引入到文档中后,如果编码变更还要进行调整和修改;
文档格式不统一,且文档用例需要另外设计。
发明内容
有鉴于此,本发明实施例提供一种应用组件的说明文档生成方法和装置,能够代替人工处理方式,节省了大量的时间和人力物力,避免文档后置撰写而遗忘了先前的设计想法,并避免编码变更还要进行调整和修改生成的文档的问题,且生成的说明文档更具有规格统一性,适合大范围使用和成批生成,生成过程相对简单。
为实现上述目的,根据本发明实施例的一个方面,提供了一种应用组件的说明文档生成方法。
一种应用组件的说明文档生成方法,包括:从获取的预设格式的应用组件文件流中提取样式信息和脚本信息;根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流;通过预设的文本解析器解析所述预设格式的应用组件文件流以得到说明文本文件流;根据所述用例文件流和所述说明文本文件流生成所述应用组件的说明文档。
可选地,从获取的预设格式的应用组件文件流中提取样式信息和脚本信息的步骤之前,包括:判断缓存中是否存在所述预设格式的应用组件文件流,若存在,则从所述缓存中获取所述预设格式的应用组件文件流,否则,缓存输入的所述预设格式的应用组件文件流,然后获取缓存中的所述预设格式的应用组件文件流。
可选地,从获取的预设格式的应用组件文件流中提取样式信息和脚本信息的步骤,包括:从获取的预设格式的应用组件文件流中,提取以Div为父标签、且带有HTML标记的内容块作为所述样式信息,以及提取带有JS标记的内容块作为所述脚本信息。
可选地,所述应用组件为Avalon应用组件,所述预设模板为Avalon标准组件对象模板,根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流的步骤,包括:将所述脚本信息转换成HTML形式脚本信息,并将所述样式信息与所述HTML形式脚本信息按照所述Avalon标准组件对象模板的格式进行拼接,以生成所述应用组件的用例文件流。
可选地,根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流的步骤之后,包括:确定所述用例文件流通过预设校验。
根据本发明实施例的另一方面,提供了一种应用组件的说明文档生成装置。
一种应用组件的说明文档生成装置,包括:信息提取模块,用于从获取的预设格式的应用组件文件流中提取样式信息和脚本信息;第一文件流生成模块,用于根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流;第二文件流生成模块,用于通过预设的文本解析器解析所述预设格式的应用组件文件流以得到说明文本文件流;说明文档生成模块,用于根据所述用例文件流和所述说明文本文件流生成所述应用组件的说明文档。
可选地,还包括判断模块,用于:判断缓存中是否存在所述预设格式的应用组件文件流,若存在,则从所述缓存中获取所述预设格式的应用组件文件流,否则,缓存输入的所述预设格式的应用组件文件流,然后获取缓存中的所述预设格式的应用组件文件流。
可选地,所述信息提取模块还用于:从获取的预设格式的应用组件文件流中,提取以Div为父标签、且带有HTML标记的内容块作为所述样式信息,以及提取带有JS标记的内容块作为所述脚本信息。
可选地,所述应用组件为Avalon应用组件,所述预设模板为Avalon标准组件对象模板,所述第一文件流生成模块还用于:将所述脚本信息转换成HTML形式脚本信息,并将所述样式信息与所述HTML形式脚本信息按照所述Avalon标准组件对象模板的格式进行拼接,以生成所述应用组件的用例文件流。
可选地,还包括确定模块,用于:确定所述用例文件流通过预设校验。
根据本发明实施例的又一方面,提供了一种电子设备。
一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现应用组件的说明文档生成方法。
根据本发明实施例的又一方面,提供了一种计算机可读介质。
一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现应用组件的说明文档生成方法。
上述发明中的一个实施例具有如下优点或有益效果:从获取的预设格式的应用组件文件流中提取样式信息和脚本信息,并根据样式信息和脚本信息,通过预设模板生成应用组件的用例文件流,以及通过预设的文本解析器解析预设格式的应用组件文件流以得到说明文本文件流,然后根据用例文件流和说明文本文件流生成应用组件的说明文档。能够在开发中的撰写文档部分以工具化代替人工处理方式,根据要求自动化转换文件完成文字说明、展示用例、代码说明和接口列表说明等内容,节省了大量的时间和人力物力,且能够在一个文件中写组件用例时也能写组件的使用说明而不用将二者分开撰写,避免文档后置撰写而遗忘了先前的设计想法,生成的说明文档更具有规格统一性,适合大范围使用和成批生成,且生成过程相对简单。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的应用组件的说明文档生成方法的主要步骤示意图;
图2是根据本发明实施例的应用组件的说明文档生成方法的优选流程示意图;
图3是根据本发明实施例的应用组件的说明文档生成装置的主要模块示意图;
图4是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本发明实施例的应用组件的说明文档生成方法的主要步骤示意图。
如图1所示,本发明实施例的应用组件的说明文档生成方法主要包括如下的步骤S101至步骤S104。本发明实施例的应用组件具体可以为Avalon(阿瓦隆)应用组件。Avalon是易用小巧的MVVM框架(MVVM是以模型、视图和视图模型组成的框架结构),是采用分层理念的唯一兼容IE7及以上版本的Javascript核心库。并且,本发明实施例的应用组件的说明文档生成方法可以在NodeJs或Webpack开发环境下执行。其中,NodeJs是基于Chrome V8引擎的JavaScript运行环境,Webpack是基于NodeJs的一种Javascript架构,主要负责图片、文件和脚本等内容的编译打包。
步骤S101:从获取的预设格式的应用组件文件流中提取样式信息和脚本信息。
预设格式可以是MD(即MarkDown,也可写作Markdown)格式,即MarkDown文本解析器支持的格式。MarkDown文本解析器内提供的一定的语法格式,比如:“###”用于表示使用h3标签,“(超链接)[http://www.tt.com]”用于表示a标签。
步骤S101之前,还可以判断缓存中是否存在预设格式的应用组件文件流,若存在,则从缓存中获取该预设格式的应用组件文件流,否则,缓存输入的预设格式的应用组件文件流,然后获取缓存中的预设格式的应用组件文件流。
步骤S101具体可以包括:从获取的预设格式的应用组件文件流中,提取以Div为父标签、且带有HTML标记的内容块作为样式信息,以及提取带有JS标记的内容块作为脚本信息。
步骤S102:根据样式信息和脚本信息,通过预设模板生成应用组件的用例文件流。
其中,预设模板可以为Avalon标准组件对象模板。
步骤S102具体可以包括:将脚本信息转换成HTML形式脚本信息,并将样式信息与HTML形式脚本信息按照Avalon标准组件对象模板的格式进行拼接,以生成应用组件的用例文件流。
步骤S102之后,还可以确定用例文件流通过预设校验。
预设校验可以是NodeJs或Webpack的对该用例文件流的语法校验。
步骤S103:通过预设的文本解析器解析预设格式的应用组件文件流以得到说明文本文件流。
预设的文本解析器可以是MarkDown文本解析器。
需要说明的是,步骤S103可以在执行完步骤S102之后立即执行,也可以在确定用例文件流通过预设校验之后再执行该步骤S103。并且,步骤S102和步骤S103的执行顺序还可以互换,即可以先通过预设的文本解析器解析预设格式的应用组件文件流以得到说明文本文件流,再根据样式信息和脚本信息,通过预设模板生成应用组件的用例文件流。
步骤S104:根据用例文件流和说明文本文件流生成应用组件的说明文档。
图2是根据本发明实施例的应用组件的说明文档生成方法的优选流程示意图。为了便于说明,该图2所示的优选流程以在Webpack开发环境下执行为例进行介绍,需要说明的是,该优选流程也适用于NodeJs开发环境(相应地图2所示流程中“Webpack”替换为“NodeJs”)。
本发明实施例的应用组件的说明文档生成方法的优选流程包括如下的步骤S201至步骤S210。
步骤S201:通过Webpack生成Markdown格式的应用组件文件流。
Markdown格式的应用组件文件流由一个或多个应用组件文件组成,每个应用组件文件为一个后缀为md的文件。在开发每个应用组件所生成的文件流中都包含一个后缀为md的文件以用于该应用组件的参数说明和用例展示,该后缀为md的文件以Markdown的格式要求书写,并且包括带有HTML标记的内容块和带有JS标记的内容块以及文本形式的应用组件功能使用说明,HTML标记例如“…html”,JS标记例如“...js”,其中,在“…html”标记的内容块内有HTML标记语言,在“...js”标记的内容块内有用于处理HTML标记语言的业务内容的JavaScript,该HTML标记语言的具体内容例如是组件用例的样式信息,该JavaScript的具体内容例如是用于处理该样式信息的具体业务内容的脚本信息。可使用Webpack的文件筛选命令筛选得到该后缀为md的文件以便后续流程中使用。
本发明实施例可实现批量生成多个应用组件的说明文档,即本发明实施例的应用组件文件流可包括一个或多个应用组件的后缀为md的文件。当应用组件文件流包括一个后缀为md的文件时,通过本发明实施例的应用组件的说明文档生成方法可生成对应一个应用组件的说明文档,当应用组件文件流包括两个或两个以上后缀为md的文件时,则可对应生成多个应用组件的说明文档,例如生成分别对应MS-Calendar、MS-Checkbox、MS-Datepicker、MS-View等应用组件的说明文档。
步骤S202:判断Webpack的缓存中是否有该Markdown格式的应用组件文件流,若有,则执行步骤S203,否则,执行先执行步骤S204再执行步骤S203。
步骤S203:从Webpack的缓存中获取该Markdown格式的应用组件文件流。
执行完步骤S203之后,执行步骤S205。
步骤S204:将Webpack生成Markdown格式的应用组件文件流存入Webpack的缓存。
需要说明的是,对于本例中应用组件开发环境为Webpack,Webpack通常可自动缓存文件流,当Webpack中自动缓存了Markdown格式的应用组件文件流时,那么在执行步骤S202之后执行步骤S203即可,而在应用组件开发环境为NodeJs的情况下,NodeJs通常不会自动缓存文件流,需要将生成的Markdown格式的应用组件文件流存入NodeJs的缓存(即对应步骤S204)。
通过将Markdown格式的应用组件文件流存入缓存,并从缓存中获取该应用组件文件流可以加快检索和文本提取的速度。
步骤S205:从Markdown格式的应用组件文件流中提取样式信息和脚本信息。
可以通过索引全文检索关键字如“…html”、“...js”,以得到带有“…html”标记的内容块和“...js”标记的内容块。分别解析该带有“…html”标记的内容块和“...js”标记的内容块以提取样式信息和脚本信息。其中,样式信息通常置于Div父标签下,因此需要解析以Div为父标签、且带有“…html”标记的内容块以成功提取样式信息,然后暂存提取的样式信息。解析带有“...js”标记的内容块时可提供对ES6(是ECMAScript 6的简称,是JavaScript语言的下一代标准)的语法支持,并可以使用Import关键字引入组件用例需要的Js库,具体地,将组件用例需要的Js库信息转换为配置文件中对应Import关键字的库文件引用,并置于脚本信息的头部,再将带有“...js”标记的内容块中的业务逻辑代码去掉回车标识符追加到脚本信息的尾部。当批量生成多个应用组件的说明文档时,从Markdown格式的应用组件文件流中提取样式信息和脚本信息的步骤可以包括两种执行方式:叠加执行或者实时执行。Webpack可以预先设置执行方式,其中,叠加执行即从Markdown格式的应用组件文件流的每个后缀为md的文件中提取样式信息和脚本信息;实时执行即在通过Webpack开发每一个应用组件时,实时地从Markdown格式的应用组件文件流的后缀为md的文件中提取样式信息和脚本信息。
步骤S206:根据样式信息和脚本信息,通过Avalon标准组件对象模板生成应用组件的用例文件流。
具体地,将JavaScript形式的脚本信息转换为HTML形式的脚本信息,该转换也可以在解析带有“...js”标记的内容块时的过程中完成,即将Import关键字引入组件用例需要的Js库的信息添加HTML标签并置于HTML形式的脚本信息的头部,将上述业务逻辑代码去掉回车标识符并添加HTML标签,然后追加到HTML形式的脚本信息的尾部,从而得到完整的HTML形式的脚本信息。
并且,通过将样式信息与HTML形式的脚本信息按照Avalon标准组件对象模板的格式进行拼接,以生成应用组件的用例文件流。Avalon标准组件对象模板是Avalon自带的标准模板,根据Avalon的规定,Avalon能够驱动的是带有View层和Controller层的一对配套文件,因此,本发明实施例执行上述拼接时,将样式信息作为Avalon标准组件对象模板的view层,将HTML形式的脚本信息作为Avalon标准组件对象模板的ViewController层,这样确保最终生成的说明文档可以被Avalon解析从而展示出来。
步骤S207:判断用例文件流是否通过Webpack的语法校验,若是,则执行步骤S208,否则,执行步骤S209。
步骤S208:通过MarkDown文本解析器解析Markdown格式的应用组件文件流以得到说明文本文件流。
可通过MarkDown文本解析器解析后缀为md的文件中的文本形式的应用组件功能使用说明,以得到说明文本文件流。
步骤S208之后,执行步骤S210。
步骤S209:输出报警消息。
当用例文件流未通过Webpack的语法校验,表明用例文件流出现异常,则输出报警消息。在输出报警消息之后流程结束。
步骤S210:根据用例文件流和说明文本文件流生成应用组件的说明文档。
生成应用组件的说明文档可以输出到Webpack预先设定的指定目录,通过引入Avalon核心库来驱动该说明文档的相关用例代码的运行,便可动态展示步骤S210生成的应用组件的说明文档。
生成的说明文档也可以与其他扩展组件再次融合,即通过其他组件可对该说明文档进行再次封装处理,具有很强的再次扩展能力。
如前所述,当步骤S201中的Markdown格式的应用组件文件流包括两个或两个以上后缀为md的文件时,步骤S210中生成的应用组件的说明文档的数量为多个,其中每个说明文档对应一个应用组件。
图3是根据本发明实施例的应用组件的说明文档生成装置的主要模块示意图。
如图3所示,本发明实施例的应用组件的说明文档生成装置300主要包括:信息提取模块301、第一文件流生成模块302、第二文件流生成模块303、说明文档生成模块304。
本发明实施例的应用组件可以为Avalon应用组件。本发明实施例的应用组件的说明文档生成装置300可实现为基于Markdown开发的一种Loader,Loader为在Webpack下提供的链式流程,可自动化地根据顺序进行代码重组和扩展,本发明实施例的Loader(即应用组件的说明文档生成装置300)继承了Markdown自带的Loader的一些功能并在Markdown自带的Loader的基础上进行了功能的扩展,为与Markdown自带的Loader相区别,将本发明实施例的Loader(即应用组件的说明文档生成装置300)记作“Koumei-Markdown-Loader”,该Koumei-Markdown-Loader也可作为一种说明文档生成器插件或说明文档API(应用程序接口)安装到Webpack或NodeJs开发环境中,使得在开发Avalon应用组件时在写组件用例、用例说明、接口说明等的过程中,可以在一个文件中写Avalon组件用例和组件的使用说明,而不用分开写,实现以工具化的方式生成应用组件的说明文档,无需后续花费时间和人力物力来生成说明文档。
信息提取模块301用于从获取的预设格式的应用组件文件流中提取样式信息和脚本信息。
预设格式可以是Markdown格式。
通过Webpack或NodeJs生成Markdown格式的应用组件文件流之后,可将应用组件文件流放入Koumei-Markdown-Loader中进行装载,以便信息提取模块301提取从获取的预设格式的应用组件文件流中提取样式信息和脚本信息。信息提取模块301具体可以从获取的预设格式的应用组件文件流中,提取以Div为父标签、且带有HTML标记的内容块作为样式信息,以及提取带有JS标记的内容块作为脚本信息。
第一文件流生成模块302用于根据样式信息和脚本信息,通过预设模板生成应用组件的用例文件流。
预设模板可以为Avalon标准组件对象模板。
第一文件流生成模块302具体可将脚本信息转换成HTML形式脚本信息,并将样式信息与HTML形式脚本信息按照Avalon标准组件对象模板的格式进行拼接,以生成应用组件的用例文件流。
第二文件流生成模块303用于通过预设的文本解析器解析预设格式的应用组件文件流以得到说明文本文件流。
预设的文本解析器可以是MarkDown文本解析器。
说明文档生成模块304用于根据用例文件流和说明文本文件流生成应用组件的说明文档。
应用组件的说明文档生成装置300还可以包括判断模块,判断模块用于:判断缓存中是否存在预设格式的应用组件文件流,若存在,则从缓存中获取预设格式的应用组件文件流,否则,缓存输入的预设格式的应用组件文件流,然后获取缓存中的预设格式的应用组件文件流。
应用组件的说明文档生成装置300还可以包括确定模块,确定模块用于:确定用例文件流通过预设校验。
本发明实施例的Koumei-Markdown-Loader具有很强的通用性,不但可以通过NodeJs的Cmd(命令提示符)方式引入Koumei-Markdown-Loader,也可以作为Webpack配置文件引入koumei-markdown-loader。并且,通过本发明实施例的Koumei-Markdown-Loader生成说明文档的过程简单,可采用Webpack架构下结合多种Loader更具有定制和自动化生成的优势,当组件开发环境为NodeJs时,还支持NodeJs的Loaders机制可直接导入本发明的应用组件的说明文档生成装置进行使用。
并且,本发明实施例的Webpack或NodeJs可以启用多线程为每个应用组件配置一个Koumei-Markdown-Loader,从应用组件文件流中批量提取多个应用组件的样式信息和脚本信息,然后分别生成应用组件的用例文件流、说明文本文件流,最后根据用例文件流和说明文本文件流生成应用组件的说明文档,从而实现通过多个Koumei-Markdown-Loader批量地为多个应用组件生成说明文档,节省大量的时间和人力物力。
另外,在本发明实施例中应用组件的说明文档生成装置300的具体实施内容,在上面应用组件的说明文档生成方法中已经详细说明了,故在此重复内容不再说明。
下面参考图4,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统400的结构示意图。图4示出的终端设备或服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图4所示,计算机系统400包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有系统400操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
特别地,根据本发明公开的实施例,上文参考主要步骤示意图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤示意图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分409从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被中央处理单元(CPU)401执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的主要步骤示意图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,主要步骤示意图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或主要步骤示意图中的每个方框、以及框图或主要步骤示意图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括信息提取模块301、第一文件流生成模块302、第二文件流生成模块303、说明文档生成模块304。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,信息提取模块301还可以被描述为“用于从获取的预设格式的应用组件文件流中提取样式信息和脚本信息的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:从获取的预设格式的应用组件文件流中提取样式信息和脚本信息;根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流;通过预设的文本解析器解析所述预设格式的应用组件文件流以得到说明文本文件流;根据所述用例文件流和所述说明文本文件流生成所述应用组件的说明文档。
根据本发明实施例的技术方案,从获取的预设格式的应用组件文件流中提取样式信息和脚本信息,并根据样式信息和脚本信息,通过预设模板生成应用组件的用例文件流,以及通过预设的文本解析器解析预设格式的应用组件文件流以得到说明文本文件流,然后根据用例文件流和说明文本文件流生成应用组件的说明文档。能够在开发中的撰写文档部分以工具化代替人工处理方式,根据要求自动化转换文件完成文字说明、展示用例、代码说明和接口列表说明等内容,节省了大量的时间和人力物力,且能够在一个文件中写组件用例时也能写组件的使用说明而不用将二者分开撰写,避免文档后置撰写而遗忘了先前的设计想法,生成的说明文档更具有规格统一性,适合大范围使用和成批生成,且生成过程相对简单。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (12)

1.一种应用组件的说明文档生成方法,其特征在于,包括:
从获取的预设格式的应用组件文件流中提取样式信息和脚本信息;
根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流;
通过预设的文本解析器解析所述预设格式的应用组件文件流以得到说明文本文件流;
根据所述用例文件流和所述说明文本文件流生成所述应用组件的说明文档。
2.根据权利要求1所述的方法,其特征在于,从获取的预设格式的应用组件文件流中提取样式信息和脚本信息的步骤之前,包括:
判断缓存中是否存在所述预设格式的应用组件文件流,
若存在,则从所述缓存中获取所述预设格式的应用组件文件流,否则,缓存输入的所述预设格式的应用组件文件流,然后获取缓存中的所述预设格式的应用组件文件流。
3.根据权利要求1所述的方法,其特征在于,从获取的预设格式的应用组件文件流中提取样式信息和脚本信息的步骤,包括:
从获取的预设格式的应用组件文件流中,提取以Div为父标签、且带有HTML标记的内容块作为所述样式信息,以及提取带有JS标记的内容块作为所述脚本信息。
4.根据权利要求1所述的方法,其特征在于,所述应用组件为Avalon应用组件,所述预设模板为Avalon标准组件对象模板,
根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流的步骤,包括:
将所述脚本信息转换成HTML形式脚本信息,并将所述样式信息与所述HTML形式脚本信息按照所述Avalon标准组件对象模板的格式进行拼接,以生成所述应用组件的用例文件流。
5.根据权利要求1所述的方法,其特征在于,根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流的步骤之后,包括:
确定所述用例文件流通过预设校验。
6.一种应用组件的说明文档生成装置,其特征在于,包括:
信息提取模块,用于从获取的预设格式的应用组件文件流中提取样式信息和脚本信息;
第一文件流生成模块,用于根据所述样式信息和所述脚本信息,通过预设模板生成所述应用组件的用例文件流;
第二文件流生成模块,用于通过预设的文本解析器解析所述预设格式的应用组件文件流以得到说明文本文件流;
说明文档生成模块,用于根据所述用例文件流和所述说明文本文件流生成所述应用组件的说明文档。
7.根据权利要求6所述的装置,其特征在于,还包括判断模块,用于:
判断缓存中是否存在所述预设格式的应用组件文件流,
若存在,则从所述缓存中获取所述预设格式的应用组件文件流,否则,缓存输入的所述预设格式的应用组件文件流,然后获取缓存中的所述预设格式的应用组件文件流。
8.根据权利要求6所述的装置,其特征在于,所述信息提取模块还用于:
从获取的预设格式的应用组件文件流中,提取以Div为父标签、且带有HTML标记的内容块作为所述样式信息,以及提取带有JS标记的内容块作为所述脚本信息。
9.根据权利要求6所述的装置,其特征在于,所述应用组件为Avalon应用组件,所述预设模板为Avalon标准组件对象模板,
所述第一文件流生成模块还用于:
将所述脚本信息转换成HTML形式脚本信息,并将所述样式信息与所述HTML形式脚本信息按照所述Avalon标准组件对象模板的格式进行拼接,以生成所述应用组件的用例文件流。
10.根据权利要求6所述的装置,其特征在于,还包括确定模块,用于:
确定所述用例文件流通过预设校验。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
12.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN201711042440.3A 2017-10-31 2017-10-31 一种应用组件的说明文档生成方法和装置 Active CN109725932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711042440.3A CN109725932B (zh) 2017-10-31 2017-10-31 一种应用组件的说明文档生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711042440.3A CN109725932B (zh) 2017-10-31 2017-10-31 一种应用组件的说明文档生成方法和装置

Publications (2)

Publication Number Publication Date
CN109725932A true CN109725932A (zh) 2019-05-07
CN109725932B CN109725932B (zh) 2022-08-12

Family

ID=66293026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711042440.3A Active CN109725932B (zh) 2017-10-31 2017-10-31 一种应用组件的说明文档生成方法和装置

Country Status (1)

Country Link
CN (1) CN109725932B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851136A (zh) * 2019-09-18 2020-02-28 平安科技(深圳)有限公司 数据获取方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336760A (zh) * 2013-07-11 2013-10-02 北京信息科技大学 一种基于逆向工程自动生成软件文档的方法及装置
US20150128110A1 (en) * 2013-11-05 2015-05-07 Alexander Falk Mobile application development and deployment
CN105094836A (zh) * 2015-08-11 2015-11-25 北京京东尚科信息技术有限公司 一种生成说明文档的方法和装置
CN106294493A (zh) * 2015-06-08 2017-01-04 腾讯科技(深圳)有限公司 实现文档格式转换的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336760A (zh) * 2013-07-11 2013-10-02 北京信息科技大学 一种基于逆向工程自动生成软件文档的方法及装置
US20150128110A1 (en) * 2013-11-05 2015-05-07 Alexander Falk Mobile application development and deployment
CN106294493A (zh) * 2015-06-08 2017-01-04 腾讯科技(深圳)有限公司 实现文档格式转换的方法及装置
CN105094836A (zh) * 2015-08-11 2015-11-25 北京京东尚科信息技术有限公司 一种生成说明文档的方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851136A (zh) * 2019-09-18 2020-02-28 平安科技(深圳)有限公司 数据获取方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN109725932B (zh) 2022-08-12

Similar Documents

Publication Publication Date Title
CN110825362B (zh) 低代码应用软件开发系统及方法
CN112988153B (zh) 基于微前端的数据处理方法及框架
CN105100191B (zh) 一种云编译实现Java应用安装的方法、装置及系统
CN105022630B (zh) 一种组件管理系统及组件管理方法
CN101482817B (zh) 基于黑盒的大粒度Java构件组装方法
CA2764012A1 (en) Computer-implemented method, system and computer program product for displaying a user interface component
CN108920496B (zh) 一种渲染方法及装置
CN104133588B (zh) 一种基于脚本的继电保护装置图形开发方法
CN107122398B (zh) 一种数据展示图表生成方法及系统
CN110196720B (zh) 一种Simulink生成动态链接库的优化方法
CN104133676A (zh) 一种基于脚本的功能执行方法和设备
CN102262684A (zh) 移动终端网页页面生成方法及装置
CN109857388A (zh) 代码生成方法、装置、服务器及计算机可读介质
CN107506190A (zh) 基于Spring框架的XML文件修改方法及装置
CN109739526A (zh) 代码更新方法和装置
WO2023103712A1 (zh) Ecu升级方法、装置及可读存储介质
CN109445775A (zh) 一键活动内嵌代码方法、装置及计算机可读存储介质
US8667261B2 (en) Systems, methods, and apparatus for utility meter configuration
CN103605526A (zh) 一种基于责任链模式的模版组件化生成代码的方法
US20200301676A1 (en) Framework for GPU Code Generation and Debugging
CN108287720B (zh) 软件编译方法、装置、设备及存储介质
CN109725932A (zh) 一种应用组件的说明文档生成方法和装置
CN103226475A (zh) 转码时实现控件替换的方法及装置
CN111459810A (zh) 构建应用程序的方法、编程设备和计算机可读存储介质
CN110019177A (zh) 规则存储的方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant