CN114020275A - 一种应用程序的代码编译控方法、装置、介质及设备 - Google Patents

一种应用程序的代码编译控方法、装置、介质及设备 Download PDF

Info

Publication number
CN114020275A
CN114020275A CN202111275574.6A CN202111275574A CN114020275A CN 114020275 A CN114020275 A CN 114020275A CN 202111275574 A CN202111275574 A CN 202111275574A CN 114020275 A CN114020275 A CN 114020275A
Authority
CN
China
Prior art keywords
code
label
program
processed
page
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.)
Pending
Application number
CN202111275574.6A
Other languages
English (en)
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.)
Shenzhen One Account Technology Co ltd
Original Assignee
Shenzhen One Account 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 Shenzhen One Account Technology Co ltd filed Critical Shenzhen One Account Technology Co ltd
Priority to CN202111275574.6A priority Critical patent/CN114020275A/zh
Publication of CN114020275A publication Critical patent/CN114020275A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本申请涉及计算机及人工智能技术领域,本实施例公开了一种应用程序的代码编译控方法、装置、介质及设备。该方法包括:响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。本技术方案可以实现对应用程序的程序代码进行灵活的管理,以提高代码编译效率,同时实现代码编译后的保持有较低的出错率的目的。

Description

一种应用程序的代码编译控方法、装置、介质及设备
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种应用程序的代码编译控方法、装置、介质及设备。
背景技术
随着信息化时代的迅速发展,各类应用程序应运而生。为了满足用户的使用需求,目前的应用程序不仅种类繁多,而且应用程序的换代更新周期也是越来越快的。而这种换代更新对于代码编译工作人员来说,是一个极大的考验。在不同的版本之间,对于同一个功能,可能存在需要删除,并在后续的更新中又需要重新使用的情况,这就造成了代码编译工作人员的重复工作。并且,在重新编译过程中,需要与其他功能的代码相互关联,如果相隔时间较长,由于部分代码细节已经被遗忘,很容易出现重新编译后会出现新的BUG等风险。因此,如何能够在代码编译过程中,对于程序代码进行灵活的控制,以提高工作人员的编译效率,并且确保程序代码的稳定性,是亟待解决的技术问题。
发明内容
本申请实施例提供一种应用程序的代码编译控方法、装置、介质及设备,可以实现对应用程序的程序代码进行灵活的管理,以提高代码编译效率,同时实现代码编译后的保持有较低的出错率的目的。
第一方面,本申请实施例提供了一种应用程序的代码编译控方法,所述方法包括:
响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;
读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;
将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;
对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
进一步的,在响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签之前,所述方法还包括:
响应于程序代码的标注操作,确定程序代码的各代码段控制的页面组件或者页面路由;
生成与各代码段控制的页面组件或者页面路由匹配的标签名称;
响应于标签名称的确认操作,以完成对代码标签的标注。
进一步的,在响应于标签名称的确认操作,以完成对代码标签的标注之后,所述方法还包括:
构建代码标签与代码标签标注的代码段之间的关联关系,并将所述关联关系存储至预设位置;
在对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件之后,所述方法还包括:
响应于调回标签配置操作,确定编译得到可执行文件所需的调回标签;
根据所述调回标签与已调控的待处理标签的对应关系,确定目标标签;
将所述目标标签关联的代码段调回至程序代码中。
进一步的,将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签,包括:
对所述调控标签进行逐个检索,得到各调控标签与程序代码中代码标签的匹配结果;
基于所述匹配结果,调取匹配成功的代码标签为待处理标签;
在程序代码中区分现实所述待处理标签,以及所述待处理标签关联的代码段。
进一步的,在得到各调控标签与程序代码中代码标签的匹配结果之后,所述方法还包括:
若存在调控标签未匹配到代码标签,则确定所述调控标签配置错误,并生成提示信息。
进一步的,对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件,包括:
识别所述应用程序的程序代码中待处理标签关联的代码段;
提取所述代码段关联的资源数据;所述资源数据包括所述代码段控制的应用程序的页面组件或者页面路由显示所需的视频文件、图片文件以及文字文件中的至少一种;
在所述应用程序的程序代码中对待处理标签关联的代码段进行调控,并对所述资源数据进行调控,以根据调控后的程序代码编译得到可执行文件。
进一步的,在对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件之后,所述方法还包括:
记录当前应用程序版本号,以及当前应用程序版本所调控的待处理标签;
响应于应用程序的目标版本号的查询请求,调取所述目标版本号调控的待处理标签,以及待处理标签关联的代码段控制的页面组件或者页面路由;
若检测到应用程序的程序代码复原操作,则基于各版本号调控的待处理标签复原所述应用程序的程序代码为未进行调控的原始版本。
第二方面,本申请实施例提供了一种应用程序的代码编译控装置,所述装置包括:
调控标签生成模块,用于响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;
代码标签读取模块,用于读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;
待处理标签确定模块,用于将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;
可执行文件编译模块,用于对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
进一步的,所述装置还包括代码标签标注模块,具体用于:
响应于程序代码的标注操作,确定程序代码的各代码段控制的页面组件或者页面路由;
生成与各代码段控制的页面组件或者页面路由匹配的标签名称;
响应于标签名称的确认操作,以完成对代码标签的标注。
进一步的,所述装置还包括关联关系存储模块,具体用于:
构建代码标签与代码标签标注的代码段之间的关联关系,并将所述关联关系存储至预设位置;
所述装置还包括代码段调回模块,具体用于:
响应于调回标签配置操作,确定编译得到可执行文件所需的调回标签;
根据所述调回标签与已调控的待处理标签的对应关系,确定目标标签;
将所述目标标签关联的代码段调回至程序代码中。
进一步的,所述待处理标签确定模块,具体用于:
对所述调控标签进行逐个检索,得到各调控标签与程序代码中代码标签的匹配结果;
基于所述匹配结果,调取匹配成功的代码标签为待处理标签;
在程序代码中区分现实所述待处理标签,以及所述待处理标签关联的代码段。
进一步的,所述待处理标签确定模块,还用于:
若存在调控标签未匹配到代码标签,则确定所述调控标签配置错误,并生成提示信息。
进一步的,可执行文件编译模块,具体用于:
识别所述应用程序的程序代码中待处理标签关联的代码段;
提取所述代码段关联的资源数据;所述资源数据包括所述代码段控制的应用程序的页面组件或者页面路由显示所需的视频文件、图片文件以及文字文件中的至少一种;
在所述应用程序的程序代码中对待处理标签关联的代码段进行调控,并对所述资源数据进行调控,以根据调控后的程序代码编译得到可执行文件。
进一步的,所述装置还包括程序代码复原模块,具体用于:
记录当前应用程序版本号,以及当前应用程序版本所调控的待处理标签;
响应于应用程序的目标版本号的查询请求,调取所述目标版本号调控的待处理标签,以及待处理标签关联的代码段控制的页面组件或者页面路由;
若检测到应用程序的程序代码复原操作,则基于各版本号调控的待处理标签复原所述应用程序的程序代码为未进行调控的原始版本。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的应用程序的代码编译控方法。
第四方面,本申请实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的应用程序的代码编译控方法。
本申请实施例所提供的技术方案,通过将程序代码中的一个或者多个代码段与代码标签关联起来,并在编译过程中,通过输入代码标签,确定当前应用程序版本中不需要使用的页面组件或者页面路由,从而可以实现应对应用程序不同版本的需求来进行快速编译的目的。同时在需要已调控的页面组件或者页面路由时,可以直接将原本的程序代码恢复即可,实现对应用程序的程序代码进行灵活的管理,以提高代码编译效率,同时实现代码编译后的保持有较低的出错率的目的。
附图说明
图1是本申请实施例一提供的应用程序的代码编译控方法的流程图;
图2是本发明实施例二提供的应用程序的代码编译控方法的流程图;
图3是本发明实施例三提供的应用程序的代码编译控方法的流程图;
图4是本发明实施例四提供的一种应用程序的代码编译控装置的结构框图;
图5是本申请实施例六提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1是本申请实施例一提供的应用程序的代码编译控方法的流程图。本实施例可适用于针对应用程序的不同版本进行代码编译的场景。该方法可以由本申请实施例所提供的应用程序的代码编译控装置执行。该装置可以由软件和/或硬件的方式来实现,并可集成于用于管理连接池或者管理数据库的电子设备中。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
如图1所示,所述应用程序的代码编译控方法包括:
S110,响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签。
本方案中,调控标签可以是在生成应用程序的可执行文件时需要经过调控来禁用的标签,例如程序代码中存在一段代码a,该段代码的标签为A,则如果编译人员配置了A,就会在生成应用程序的可执行文件时禁用该段代码a。
调控标签配置操作,可以是编译人员根据需求在标签配置栏中添加标签。可以理解的,在后续的将程序代码编译成可执行文件时,可以禁用掉此处添加的标签对应的代码段。可以扩展的,此处也可以是添加需要进行打包的标签。编译人员添加之后,即可以成为编译成可执行文件所需的目标标签。具体的,例如可以在程序代码的显示位置的最前端设置一个或者两个标签配置栏,供用户选择输入标签。其中,标签的输入方式可以是键入的,也可以是点击后为编译人员生成可选标签,进而供用户选择确定调控标签或者打包所需的标签。
S120,读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由。
其中,在程序代码中,可以预先标注出每个代码段或者其中部分代码段对应的代码标签,并且可以显示出来,供编译人员查看。此处优选的,可以在不确定本版本应用程序是否需要的页面组件、页面以及页面路由的字段标注代码标签,以在不需要时,直接在标签配置栏中添加的调控标签对应的代码标签标注的代码段调控,就可以禁用相应的页面组件、页面或者页面逻辑。
S130,将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签。
本方案中,待处理标签从所有的页面标签筛选出来的,具体的筛选方式可以是和调控标签相匹配,匹配成功的即为待处理标签。
在一个可行的实施例中,响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签,所述方法还包括:
响应于程序代码的标注操作,根据各代码段标注的标签名称生成代码标签。
本方案中,在进行代码标签标注时,可以分别对各种类型的代码段进行分类,例如针对页面组件类,可以使用代码标签a1,a2,a3等来进行标注,对于页面类,可以使用b1,b2,b3等来进行代码标签标注,对于页面路由类,可以使用c1,c2,c3等来进行代码标签标注。通过标注,可以将不同的代码标签进行区分。
本方案通过生成代码标签,可以在后续执行应用程序版本控制的过程中,针对页面组件的取舍结果,进行快速的编译,无需重新编辑代码,更加方便灵活。
S140,响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签。
在所述程序代码中对待处理标签对应的代码段进行调控,并根据调控后的程序代码生成可执行文件。
页面的编译指令可以是编译人员发出的,具体可以通过页面编译工具或者页面编译平台进行页面编译。在页面编译的过程中,可以对应用程序中不需要使用的调控标签进行编辑。具体的,可以通过一个标签字段来记录,例如编译人员可以将其中的a1,a2,b1,b2,b3,c2,c3编辑在标签字段中,从而可以将待处理标签所关联的代码段在编译到可执行文件时进行调控处理,进而将标签字段以外的代码段内容编译在可执行文件中,从而可以快速的进行页面编译,确定编译可执行文件所需的目标标签也是同理。
因为本方案编译人员只需要对标签进行控制,无需进入到具体的代码段中进行编写,提高了编译人员的工作效率。同时,这样设置可以在后续的对版本进行修改的过程中,可以快速的完成使用标签和禁用标签的切换,实现快速维护的目的。
本方案中,具体的,可以是通过babel编译器进行编译,编译项目中jsx语言,编译过程中快速识别到添加标签的组件或者页面,通过执行jSXCloseElement的方式进行移除该组件和页面,提高编译的速度。从而实现app的打包速度加快且实现要隐藏的页面和标签减少apk的大小,且app中的其他页面和功能不受到影响。
本申请实施例中,可选的,可以采用人工智能的方式进行代码标签的标注,调控标签的填写或者推荐,以及进行代码标签的现实方式。通过利用人工智能+的手段,可以更好的为编译人员提供更好的操作体验。
本申请实施例所提供的技术方案,通过将程序代码中的一个或者多个代码段与代码标签关联起来,并在编译过程中,通过输入代码标签,确定当前应用程序版本中不需要使用的页面组件或者页面路由,从而可以实现应对应用程序不同版本的需求来进行快速编译的目的。同时在需要已调控的页面组件或者页面路由时,可以直接将原本的程序代码恢复即可,实现对应用程序的程序代码进行灵活的管理,以提高代码编译效率,同时实现代码编译后的保持有较低的出错率的目的。
在上述各技术方案的基础上,可选的,在响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签之前,所述方法还包括:
响应于程序代码的标注操作,确定程序代码的各代码段控制的页面组件或者页面路由;
生成与各代码段控制的页面组件或者页面路由匹配的标签名称;
响应于标签名称的确认操作,以完成对代码标签的标注。
可以理解的,程序代码的标注操作可以是在确定程序代码的过程中执行,可以是在对调控代码的配置操作之前执行。例如编译人员发现某一段代码为本次应用程序的升级版本所不需要的页面组件,可以对其进行标注,并在后续的配置操作过程中键入该段代码的代码标签。除此之外,还可以是编辑人员在确定程序代码的过程中,也就是对代码进行编写的过程中,直接标注出某一段代码的代码标签。
本方案中,可以类似前述内容,将不同类型的代码段分别命名标签名称。这样设置的好处是避免因为编译人员的疏忽导致出现标注和后续的配置错误。
编译人员在标注完成标签之后,可以逐一确认,还可以是通过点击确认案件确认为程序代码标注的所有标签。只有编译人员确认之后,平台才能够响应于标签名称的确认操作,以完成对代码标签的标注。
本方案通过分类命名以及标注之后的确认操作,使得编译人员能够更加准确的进行代码标签的标注和后续的调控标签的配置,提高代码编译过程中的编译结果的准确性。
在上述各技术方案的基础上,可选的,在响应于标签名称的确认操作,以完成对代码标签的标注之后,所述方法还包括:
构建代码标签与代码标签标注的代码段之间的关联关系,并将所述关联关系存储至预设位置;
在对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件之后,所述方法还包括:
响应于调回标签配置操作,确定编译得到可执行文件所需的调回标签;
根据所述调回标签与已调控的待处理标签的对应关系,确定目标标签;
将所述目标标签关联的代码段调回至程序代码中。
其中,代码标签与代码标签标注的代码段之间,可以在确认标注完成之后,生成关联关系。又由于代码标签和其所标注的代码段都属于文本内容,所以在存储时可以占用较小的存储空间。同时后续如果通过代码标签来调用代码段,可以更加简便快捷,提高编译过程的效率。
实施例二
图2是本发明实施例二提供的应用程序的代码编译控方法的流程图,本实施例以上述实施例为基础进行优化。具体优化为:在对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件之后,所述方法还包括:响应于调回标签配置操作,确定编译得到可执行文件所需的调回标签;根据所述调回标签与已调控的待处理标签的对应关系,确定目标标签;将所述目标标签关联的代码段调回至程序代码中。
如图2所示,本实施例的方法具体包括如下步骤:
S210,响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签。
S220,读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由。
S230,将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签。
S240,对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
S250,响应于调回标签配置操作,确定编译得到可执行文件所需的调回标签。
本方案的应用场景可以是在对已经进行调控处理后生成可执行文件之后,如果发现某一个已经禁用的代码段在后续的使用过程需要被用到,则可以通过调回标签栏输入该代码标签以调回到其对应的代码段的原来编写位置。
在这样的场景下,首先编译人员可以通过在调回标签栏键入或者选择的方式配置调回标签,然后确定其所配置的调回标签对应的代码段为应用程序当前版本所需要编译的内容。
S260,根据所述调回标签与已调控的待处理标签的对应关系,确定目标标签。
由于在以往的版本中,已经对待处理标签对应的代码段进行调控处理,即为从程序代码中移除,因此在又需要使用已调控的待处理标签对应的代码段的过程中,需要对其进行调回。
本方案中,可以将已调控的待处理标签与其对应的代码段进行关联并存储,还可以是如上述方案一样,将所有的代码标签和代码段都关联存储起来。通过关联存储,可以在需要使用已调控的待处理标签时,快速的找回该部分代码段,从而实现快速编辑的目的。
S270,将所述目标标签关联的代码段调回至程序代码中。
本方案中,可以理解的,在调回的过程中,不仅需要调回的对象,还需要明确调回对象的原来所在位置,因此,可以在前面调控之前,或者整个应用程序的代码编写完成时,确定各个代码标签所关联的代码段在初始的程序代码中的位置,例如可以是起始行位置、终止行位置以及在某一个函数中等等。
本实施例在上述实施例的基础上,提供了针对已调控的待处理标签,如何对其所关联的代码段进行找回的操作。本实施例通过这样的设置,可以极大的提高编译人员的编译速度,应对各种应用程序的上线需求,进行快速的编译处理。
在上述各技术方案的基础上,可选的,在得到各调控标签与程序代码中代码标签的匹配结果之后,所述方法还包括:
若存在调控标签未匹配到代码标签,则确定所述调控标签配置错误,并生成提示信息。
本方案可以针对编译人员所输入的调控标签进行匹配,如果匹配成功,则说明当前的程序代码中确实能够找到与之对应的代码标签,如果匹配失败,则说明当前的程序代码中找不到与之对应的代码标签。这样的情况下,往往是由于编译人员的调控标签输入错误造成的,在这种情况下,需要生成提示信息,以供编译人员进行调控标签的更正。通过这样的设置,可以为编译人员提供更加精准的服务,避免编译人员实际需要禁用的页面组件或者页面路由,在打包成可执行文件时,却仍然携带该页面组件或者页面路由。
实施例三
图3是本发明实施例三提供的应用程序的代码编译控方法的流程图,本实施例以上述实施例为基础进行优化。具体优化为:对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件,包括:识别所述应用程序的程序代码中待处理标签关联的代码段;提取所述代码段关联的资源数据;所述资源数据包括所述代码段控制的应用程序的页面组件或者页面路由显示所需的视频文件、图片文件以及文字文件中的至少一种;在所述应用程序的程序代码中对待处理标签关联的代码段进行调控,并对所述资源数据进行调控,以根据调控后的程序代码编译得到可执行文件。
如图3所示,本实施例的方法具体包括如下步骤:
S310,响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签。
S320,读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由。
S330,将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签。
S340,识别所述应用程序的程序代码中待处理标签关联的代码段。
S350,提取所述代码段关联的资源数据;所述资源数据包括所述代码段控制的应用程序的页面组件或者页面路由显示所需的视频文件、图片文件以及文字文件中的至少一种。
根据页面组件以及页面路由等确定页面的资源信息,其中资源数据可以是页面中包含视频文件、图片文件以及文字文件。在确定禁用的页面组件以及页面路由之后,可以将页面路由关联的资源数据一并调控,或者不放进可执行文件中,从而可以减小可执行文件的大小。
例如,如果对页面路由打了标签,对应模块下的资源文件(例如:图片、静态文件等)也不会打包到可执行文件中,来减少应用程序包的大小,从而节约用户的下载所需流量以及存储空间,并提升用户下载完成速度等。
S360,在所述应用程序的程序代码中对待处理标签关联的代码段进行调控,并对所述资源数据进行调控,以根据调控后的程序代码编译得到可执行文件。
本实施例中,由于该代码工程是在编写过程中测试过的,因此在还原之后,不会出现运行bug,避免因为代码编辑人员手动添加代码造成的bug的出现。另外,还可以根据此方案,对不同版本,不同需求的代码段进行灵活的添加和调控操作,无需往外的工作量。
在一个具体的场景中,本方案可以包含如下几个操作步骤:
1.通过对不确定是否保留的页面组件(页面中的某一块)、页面(单个页面)、页面路由(指包含整个业务模块的所有页面)通过tag标签的形式进行标记。
2.配置标签(例如tag标签命名examine),对要处理的页面和路由进行标签化,如:<View examine>…包含的页面标签内容</View>、<Scene examine>…包含的页面(一个或多个)</Scene>。在编译工具中配置tag标签命名为examine。
3.打包机在打包的同时会执行编译工具,编译工具会基于tag关键字对代码行进行逐行检索,对打拥有examine标签页面组件和页面路由进行调控操作,继续编译未进行控制的页面组件和路由。从而生成不包含该标签的bundle文件并生成对应的iOS、AndroidApp。
4.当编译人员想要显示加过该标签的页面或者路由,在编译工具中去掉examine标签即可恢复该功能,不需要对页面组件和路由进行一一修改。
5.可根据组件名或者自定义批量设置成对应的tag,另外可以通过组件的类型来确定tag,更加方便索引。
6.可以通过不同版本app显示的内容不同类定义不同的标签,有效的控制每个app版本通过不同的标签显示不同的app内容。
7.如果对页面路由打了标签,对应模块下的资源文件(例如:图片、静态文件等)也不会打包到bundle文件中,来减少app包的大小,从而节约手机内容、提升用户下载速度等。
通过执行以上步骤,可以让代码变得整洁,编译人员也不用通过Git commit记录去找回删除的代码,做到既省时又省力,避免编译人员在代码出现解决冲突过程中,造成不必要的bug,快速恢复该要恢复的功能降低开发成本。
另外还可以降低编译打包之后bundle文件的大小,提升app的性能。不仅提高了app的下载速度同时节省用户的流量,提高用户的体验感。
相对于现有的根据代码标签进行代码的检索等操作而言,本方案需要根据标签字段中所包括的标签内容,确定其中哪些是需要进行打包的,哪些是需要移除掉再进行打包的。因为本方案需要打包,所以其实这一串标签字段是确定了打包文件大小的,因此在不同的版本中将不同的组件或者路由移除可以更加节省打包文件的空间。但现在常规的做法,往往是确定代码段,而不涉及到版本的掌控和打包后文件的下载。本方案所使用的技术手段是确定待处理标签后对该部分的标签的代码段进行调控处理,并且可以在需要时直接还原原有的代码工程,以确保代码工程的稳定性。
实施例四
图4是本发明实施例四提供的一种应用程序的代码编译控装置的结构框图,该装置可执行本发明任意实施例所提供的应用程序的代码编译控方法,具备执行方法相应的功能模块和有益效果。
如图4所示,所述装置包括:
调控标签生成模块410,用于响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;
代码标签读取模块420,用于读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;
待处理标签确定模块430,用于将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;
可执行文件编译模块440,用于对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
进一步的,所述装置还包括代码标签标注模块,具体用于:
响应于程序代码的标注操作,确定程序代码的各代码段控制的页面组件或者页面路由;
生成与各代码段控制的页面组件或者页面路由匹配的标签名称;
响应于标签名称的确认操作,以完成对代码标签的标注。
进一步的,所述装置还包括关联关系存储模块,具体用于:
构建代码标签与代码标签标注的代码段之间的关联关系,并将所述关联关系存储至预设位置;
所述装置还包括代码段调回模块,具体用于:
响应于调回标签配置操作,确定编译得到可执行文件所需的调回标签;
根据所述调回标签与已调控的待处理标签的对应关系,确定目标标签;
将所述目标标签关联的代码段调回至程序代码中。
进一步的,所述待处理标签确定模块430,具体用于:
对所述调控标签进行逐个检索,得到各调控标签与程序代码中代码标签的匹配结果;
基于所述匹配结果,调取匹配成功的代码标签为待处理标签;
在程序代码中区分现实所述待处理标签,以及所述待处理标签关联的代码段。
进一步的,所述待处理标签确定模块430,还用于:
若存在调控标签未匹配到代码标签,则确定所述调控标签配置错误,并生成提示信息。
进一步的,所述可执行文件编译模块440,具体用于:
识别所述应用程序的程序代码中待处理标签关联的代码段;
提取所述代码段关联的资源数据;所述资源数据包括所述代码段控制的应用程序的页面组件或者页面路由显示所需的视频文件、图片文件以及文字文件中的至少一种;
在所述应用程序的程序代码中对待处理标签关联的代码段进行调控,并对所述资源数据进行调控,以根据调控后的程序代码编译得到可执行文件。
进一步的,所述装置还包括程序代码复原模块,具体用于:
记录当前应用程序版本号,以及当前应用程序版本所调控的待处理标签;
响应于应用程序的目标版本号的查询请求,调取所述目标版本号调控的待处理标签,以及待处理标签关联的代码段控制的页面组件或者页面路由;
若检测到应用程序的程序代码复原操作,则基于各版本号调控的待处理标签复原所述应用程序的程序代码为未进行调控的原始版本。
上述产品可执行本申请实施例所提供的应用程序的代码编译控方法,具备执行方法相应的功能模块和有益效果。
实施例五
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请所有发明实施例提供的应用程序的代码编译控方法:
响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;
读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;
将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;
对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
实施例六
本申请实施例六提供了一种电子设备。图5是本申请实施例六提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520执行,使得所述一个或多个处理器520实现本申请实施例所提供的应用程序的代码编译控方法,该方法包括:
响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;
读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;
将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;
对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
当然,本领域技术人员可以理解,处理器520还实现本申请任意实施例所提供的应用程序的代码编译控方法的技术方案。
图5显示的电子设备500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。
存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本申请实施例中的应用程序的代码编译控方法对应的程序指令。
存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等电子设备。
本申请实施例提供的电子设备,可以实现对应用程序的程序代码进行灵活的管理,以提高代码编译效率,同时实现代码编译后的保持有较低的出错率的目的。
上述实施例中提供的应用程序的代码编译控装置、介质及电子设备可执行本申请任意实施例所提供的应用程序的代码编译控方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的应用程序的代码编译控方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种应用程序的代码编译控方法,其特征在于,所述方法包括:
响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;
读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;
将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;
对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
2.根据权利要求1所述的方法,其特征在于,在响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签之前,所述方法还包括:
响应于程序代码的标注操作,确定程序代码的各代码段控制的页面组件或者页面路由;
生成与各代码段控制的页面组件或者页面路由匹配的标签名称;
响应于标签名称的确认操作,以完成对代码标签的标注。
3.根据权利要求2所述的方法,其特征在于,在响应于标签名称的确认操作,以完成对代码标签的标注之后,所述方法还包括:
构建代码标签与代码标签标注的代码段之间的关联关系,并将所述关联关系存储至预设位置;
在对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件之后,所述方法还包括:
响应于调回标签配置操作,确定编译得到可执行文件所需的调回标签;
根据所述调回标签与已调控的待处理标签的对应关系,确定目标标签;
将所述目标标签关联的代码段调回至程序代码中。
4.根据权利要求1所述的方法,其特征在于,将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签,包括:
对所述调控标签进行逐个检索,得到各调控标签与程序代码中代码标签的匹配结果;
基于所述匹配结果,调取匹配成功的代码标签为待处理标签;
在程序代码中区分现实所述待处理标签,以及所述待处理标签关联的代码段。
5.根据权利要求4所述的方法,其特征在于,在得到各调控标签与程序代码中代码标签的匹配结果之后,所述方法还包括:
若存在调控标签未匹配到代码标签,则确定所述调控标签配置错误,并生成提示信息。
6.根据权利要求1所述的方法,其特征在于,对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件,包括:
识别所述应用程序的程序代码中待处理标签关联的代码段;
提取所述代码段关联的资源数据;所述资源数据包括所述代码段控制的应用程序的页面组件或者页面路由显示所需的视频文件、图片文件以及文字文件中的至少一种;
在所述应用程序的程序代码中对待处理标签关联的代码段进行调控,并对所述资源数据进行调控,以根据调控后的程序代码编译得到可执行文件。
7.根据权利要求1所述的方法,其特征在于,在对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件之后,所述方法还包括:
记录当前应用程序版本号,以及当前应用程序版本所调控的待处理标签;
响应于应用程序的目标版本号的查询请求,调取所述目标版本号调控的待处理标签,以及待处理标签关联的代码段控制的页面组件或者页面路由;
若检测到应用程序的程序代码复原操作,则基于各版本号调控的待处理标签复原所述应用程序的程序代码为未进行调控的原始版本。
8.一种应用程序的代码编译控装置,其特征在于,所述装置包括:
调控标签生成模块,用于响应于调控标签配置操作,根据配置内容生成可执行文件的调控标签;
代码标签读取模块,用于读取应用程序的程序代码中各代码段的代码标签;并识别所述代码标签标注的代码段控制的页面组件或者页面路由;
待处理标签确定模块,用于将所述调控标签与程序代码中所述代码标签进行匹配,得到待处理标签;
可执行文件编译模块,用于对所述待处理标签关联的代码段进行调控,基于程序代码编译得到可执行文件。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一项所述的应用程序的代码编译控方法。
10.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的应用程序的代码编译控方法。
CN202111275574.6A 2021-10-29 2021-10-29 一种应用程序的代码编译控方法、装置、介质及设备 Pending CN114020275A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111275574.6A CN114020275A (zh) 2021-10-29 2021-10-29 一种应用程序的代码编译控方法、装置、介质及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111275574.6A CN114020275A (zh) 2021-10-29 2021-10-29 一种应用程序的代码编译控方法、装置、介质及设备

Publications (1)

Publication Number Publication Date
CN114020275A true CN114020275A (zh) 2022-02-08

Family

ID=80058827

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111275574.6A Pending CN114020275A (zh) 2021-10-29 2021-10-29 一种应用程序的代码编译控方法、装置、介质及设备

Country Status (1)

Country Link
CN (1) CN114020275A (zh)

Similar Documents

Publication Publication Date Title
US10459695B2 (en) Correction of code errors using machine learning
CN111241454B (zh) 一种生成网页代码的方法、***和装置
CN109086199B (zh) 一种自动化生成测试脚本的方法、终端和可存储介质
CN112149399B (zh) 基于rpa及ai的表格信息抽取方法、装置、设备及介质
CN108762743B (zh) 一种数据表操作代码生成方法及装置
CN110442371B (zh) 一种发布代码的方法、装置、介质及计算机设备
US20230004368A1 (en) Multi-chip compatible compiling method and device
CN111966580A (zh) 基于人工智能的自动化测试方法、装置、设备和存储介质
CN111367890A (zh) 一种数据迁移的方法、装置、计算机设备及可读存储介质
CN111984264B (zh) 一种静态库的生成方法和装置
CN113312033A (zh) 一种模板化的协议生成、管理方法
CN114138281A (zh) 软件工程的编译方法、装置、设备及介质
CN110716804A (zh) 无用资源的自动删除方法、装置、存储介质及电子设备
CN114064026A (zh) 一种业务处理模型生成方法、装置、电子设备和存储介质
CN116560631B (zh) 一种机器学习模型代码的生成方法及装置
US8739146B2 (en) Systems and methods for generating and distributing executable procedures for technical desk-side support
CN111736812A (zh) 文档代码执行方法、装置、计算机设备及存储介质
CN114020275A (zh) 一种应用程序的代码编译控方法、装置、介质及设备
CN111414168A (zh) 基于思维导图的Web应用开发方法及装置、电子设备
CN105426676A (zh) 一种钻井数据处理方法和***
CN114265846A (zh) 一种数据操作方法、装置、电子设备和存储介质
CN105739957A (zh) 用户界面数据处理方法及***
JP5705681B2 (ja) 情報処理装置、データ移行用ツール生成方法およびプログラム
CN111090436B (zh) 一种Jenkins编译结果汇总方法、装置及设备
WO2017142546A1 (en) Natural language programming tool

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