CN109408057A - 自动生成代码的方法、装置、介质和计算设备 - Google Patents

自动生成代码的方法、装置、介质和计算设备 Download PDF

Info

Publication number
CN109408057A
CN109408057A CN201811238459.XA CN201811238459A CN109408057A CN 109408057 A CN109408057 A CN 109408057A CN 201811238459 A CN201811238459 A CN 201811238459A CN 109408057 A CN109408057 A CN 109408057A
Authority
CN
China
Prior art keywords
code
processed
field
field informations
informations
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
CN201811238459.XA
Other languages
English (en)
Other versions
CN109408057B (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.)
Netease Media Technology Beijing Co Ltd
Original Assignee
Netease Media Technology Beijing 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 Netease Media Technology Beijing Co Ltd filed Critical Netease Media Technology Beijing Co Ltd
Priority to CN201811238459.XA priority Critical patent/CN109408057B/zh
Publication of CN109408057A publication Critical patent/CN109408057A/zh
Application granted granted Critical
Publication of CN109408057B publication Critical patent/CN109408057B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages

Abstract

本发明的实施方式提供了一种自动生成代码的方法。该方法包括获取第一页面的待处理的一个或多个字段信息,以及根据预设规则及待处理的一个或多个字段信息,生成以下代码:定义与待处理的一个或多个字段信息一一对应的一个或多个常量的第一代码,将待处理的一个或多个字段信息及一个或多个常量存入预设空间的第二代码,以及基于一个或多个常量,自预设空间获取待处理的一个或多个字段信息的第三代码,根据第三代码获取的字段信息供第二页面调用。本发明的方法可以协助开发者自动生成页面跳转参数的封装和存取代码,较大程度上降低了开发成本,避免了对开发者工作时间的浪费。此外,本发明的实施方式提供了一种自动生成代码的装置、计算设备和介质。

Description

自动生成代码的方法、装置、介质和计算设备
技术领域
本发明的实施方式涉及信息处理领域,更具体地,本发明的实施方式涉及一种自动生成代码的方法、装置、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
在信息处理过程中,例如页面处理领域,通常在页面跳转时,需要在两个页面之间传递跳转参数,该跳转参数的传递通常需要中间媒介,这样可以保证页面在意外销毁后重建并调用跳转参数时该跳转参数不会被遗失,还可以使得该跳转参数被重新读取以进行业务逻辑的处理。
现有常见的页面跳转参数以键-值对(Key-Value)形式存入到Bundle媒介中,但使用Bundle传递参数时,开发者不得不关注Key的定义问题,即开发人员需要在跳转前定义Key,在相应跳转页面解析Key,但该Key的具体字段名实际上只要保证在Bundle中唯一,且在存取跳转参数时能够一一对应即可,开发人员并不需要关心Key的具体定义。这就导致了传递参数的方法实现中,需要开发者关心毫无意义却又不得不关心的Key的定义问题,无疑会大大增加开发者的开发成本。
更进一步地,考虑到修改方法的参数列表会影响到已有调用该方法的业务,则为了兼容旧有业务,现有常见的方式是增加方法重载,来完成参数列表的补充,使具有相同名称的方法,具有不同的参数列表,以降低修改成本,但随着迭代的进行,方法重载的数量可能会暴涨,这无疑会大大的增加后续的维护成本,严重破坏代码的整洁性和可维护性。
发明内容
因此在现有技术中,开发人员在编写实现页面跳转参数传递的代码时存在开发成本高、代码的整洁性和可维护性低的问题。
为此,非常需要一种改进的代码生成方法,以使得在实现页面跳转参数传递的代码生成过程中,开发人员无需再关注毫无意义的问题,从而降低开发成本。
在本上下文中,本发明的实施方式期望提供一种能够实现页面跳转参数的传递功能,并且可以明显降低开发成本,更进一步地可以提高代码整洁性和可维护性的自动生成代码的方法。
在本发明实施方式的第一方面中,提供了一种自动生成代码的方法,包括:获取第一页面的待处理的一个或多个字段信息,该待处理的一个或多个字段信息属于同一类;以及根据预设规则及待处理的一个或多个字段信息,生成以下代码:定义与待处理的一个或多个字段信息一一对应的一个或多个常量的第一代码;将待处理的一个或多个字段信息及一个或多个常量存入预设空间的第二代码;以及基于一个或多个常量,自预设空间获取待处理的一个或多个字段信息的第三代码,其中,根据第三代码获取的待处理的一个或多个字段信息供第二页面调用。
在本发明的一个实施例中,上述获取第一页面待处理的一个或多个字段信息包括:获取第一页面的未处理的一个或多个字段信息;展示未处理的一个或多个字段信息;以及响应于用户的操作,自未处理的一个或多个字段信息中确定待处理的一个或多个字段信息。
在本发明的另一个实施例中,上述获取第一页面的未处理的一个或多个字段信息包括:获取第一页面的属于同一类的全部字段信息;将全部字段信息的格式转换为第一预定格式;以及基于存储的已处理字段信息,遍历转换为第一预定格式的全部字段信息,确定全部字段信息中未被处理的字段信息,其中,存储的已处理字段信息的格式为第一预定格式。
在本发明的又一个实施例中,在根据预设规则及一个或多个字段信息,生成代码之前,上述自动生成代码的方法还包括:在不存在已声明接口的情况下,根据接口声明规则生成声明接口的代码,该接口与待处理的一个或多个字段信息所属类相对应;并且/或者,在不存在定义实例的代码的情况下,根据一个或多个字段信息所属类的实例生成规则生成定义实例的代码。
在本发明的再一个实施例中,在存在已处理的一个或多个字段信息的情况下,与待处理的一个或多个字段信息对应的第一代码、第二代码和第三代码分别生成于与已处理的一个或多个字段信息对应的第一代码、第二代码和第三代码之后;并且/或者,与待处理的一个或多个字段信息一一对应的一个或多个常量包括:具有预设前缀的、以第二预定格式表示的待处理的一个或多个字段信息。
在本发明的再一个实施例中,上述预设规则包括一个或多个字段信息所属类的以下至少一个规则:常量定义规则,用于作为生成第一代码的依据;存储规则,用于作为生成第二代码的依据;解析规则,用于作为生成第三代码的依据;和/或,调用规则,用于作为生成调用根据第三代码获取的待处理的一个或多个字段信息的第四代码的依据,其中,根据预设规则及一个或多个字段信息,还生成第四代码,以实现第二页面对待处理的一个或多个字段信息的调用。
在本发明的再一个实施例中,上述第二代码包括:定义分别根据待处理的一个或多个字段信息命名的一个或多个方法的代码,一个或多个方法中每个方法的参数列表信息包括一个字段信息;以及将一个或多个字段信息及与一个或多个字段信息一一对应的一个或多个常量,以键-值对的形式存入预设空间的代码,其中,一个或多个方法的返回值为一个或多个字段信息所属类的类名。
在本发明实施方式的第二方面中,提供了一种自动生成代码的装置,包括获取模块和代码生成模块。获取模块用于获取第一页面的待处理的一个或多个字段信息,该待处理的一个或多个字段信息属于同一类。代码生成模块用于根据预设规则及待处理的一个或多个字段信息,生成以下代码:定义与待处理的一个或多个字段信息一一对应的一个或多个常量的第一代码;将待处理的一个或多个字段信息及一个或多个常量存入预设空间的第二代码;以及基于一个或多个常量,自预设空间获取待处理的一个或多个字段信息的第三代码,其中,根据第三代码获取的待处理的一个或多个字段信息供第二页面调用。
在本发明的一个实施例中,上述获取模块包括:获取子模块、展示子模块和确定子模块。获取子模块用于获取第一页面的未处理的一个或多个字段信息,展示子模块用于展示未处理的一个或多个字段信息,确定子模块用于响应于用户的操作,自未处理的一个或多个字段信息中确定待处理的一个或多个字段信息。
在本发明的另一个实施例中,上述获取子模块包括:获取单元、转换单元和确定单元。获取单元用于获取第一页面的属于同一类的全部字段信息,转换单元用于将全部字段信息的格式转换为第一预定格式,确定单元用于基于存储的已处理字段信息,遍历转换为第一预定格式的全部字段信息,确定全部字段信息中未被处理的字段信息,其中,存储的已处理字段信息的格式为第一预定格式。
在本发明的又一个实施例中,上述自动生成代码的装置还包括接口声明模块和/或实例定义模块,接口声明模块用于在不存在已声明接口的情况下,根据接口声明规则生成声明接口的代码,该接口与待处理的一个或多个字段信息所属类相对应,实例定义模块用于在不存在定义实例的代码的情况下,根据一个或多个字段信息所属类的实例生成规则生成定义实例的代码。
在本发明的再一个实施例中,在存在已处理的一个或多个字段信息的情况下,与待处理的一个或多个字段信息对应的第一代码、第二代码和第三代码分别生成于与已处理的一个或多个字段信息对应的第一代码、第二代码和第三代码之后;并且/或者,与待处理的一个或多个字段信息一一对应的一个或多个常量包括:具有预设前缀的、以第二预定格式表示的待处理的一个或多个字段信息。
在本发明的再一个实施例中,上述预设规则包括一个或多个字段信息所属类的以下至少一个规则:常量定义规则,用于作为生成第一代码的依据;存储规则,用于作为生成第二代码的依据;解析规则,用于作为生成第三代码的依据;和/或调用规则,用于作为生成调用根据第三代码获取的待处理的一个或多个字段信息的第四代码的依据,其中,根据预设规则及一个或多个字段信息,还生成第四代码,以实现第二页面对待处理的一个或多个字段信息的调用。
在本发明的再一个实施例中,上述第二代码包括:定义分别根据待处理的一个或多个字段信息命名的一个或多个方法的代码,该一个或多个方法中每个方法的参数列表信息包括一个字段信息;以及将一个或多个字段信息及与一个或多个字段信息一一对应的一个或多个常量,以键-值对的形式存入所述预设空间的代码,其中,一个或多个方法的返回值为一个或多个字段信息所属类的类名。
在本发明实施方式的第三方面中,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令在被处理器执行时使处理器执行根据本发明实施方式的第一方面所提供的自动生成代码的方法。
在本发明实施方式的第四方面中,提供了一种计算设备。该计算设备包括存储有可执行指令的一个或多个存储器,以及一个或多个处理器。该处理器执行该可执行指令,用以实现根据本发明实施方式的第一方面所提供的自动生成代码的方法。
根据本发明实施方式的自动生成代码的方法、装置、介质和计算设备,可以自动生成存取一个或多个字段信息的代码,用于实现将字段信息从第一页面传输给第二页面的功能,而无需开发人员人为写代码,且开发人员也无需再关注存取代码中键的定义,从而显著地降低了开发成本。
根据本发明的一些实施例,获取字段信息时,过滤掉已被处理的字段信息,仅获取得到未处理的字段信息,且字段信息的封装可以由开发人员选择决定,可以有效避免不必要字段信息的封装,且可以避免因开发人员误操作再生成与已处理字段信息对应的代码,并因此可以提高自动生成代码方法使用体验的友好性。
更进一步地,与待处理的字段信息对应的代码分别生成于与已处理字段信息对应的代码之后,以及将每个字段信息打包成一个方法,均可以提升代码的整洁性和可维护性,从而为用户带来了更好的体验。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性示出了根据本发明实施方式的自动生成代码的方法、装置、介质及计算机设备的应用场景;
图2示意性示出了根据本发明一实施例的自动生成代码的方法的流程图;
图3示意性示出了根据本发明一实施例的获取第一页面待处理的字段信息的流程图;
图4示意性示出了根据本发明一实施例的获取第一页面未处理的字段信息的流程图;
图5示意性示出了根据本发明另一实施例的自动生成代码的方法的流程图;
图6示意性示出了根据本发明又一实施例的自动生成代码的方法的流程图;
图7示意性示出了根据本发明实施例的自动生成代码的装置的方框图;
图8示意性示出了根据本发明实施例的适用于自动生成代码的程序产品的示意图;
图9示意性示出了根据本发明实施例的适用于执行自动生成代码的方法的计算设备的框图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种自动生成代码的方法、装置、介质和计算设备。
在本文中,需要理解的是,所涉及的术语Bundle表示操作系统开发中的一个类,用于Activity Fragment之间传输数据用。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,字段信息存取形式键-值对中键的具体字段名根据字段信息生成,可以保证唯一性且在存储时能一一对应,因此通过设置功能模块,根据需要为由第一页面传输至第二页面的字段信息设定一系列代码生成规则,可以实现存取字段信息的代码的自动生成,因此开发人员无需关注键的定义,且存取代码无需人为编写,可以有效降低开发成本,节省开发人员的工作时间。
更进一步地,本发明人发现通过将每个字段信息打包成一个方法,在需要调用该字段信息时,直接调用根据该字段信息命名的方法即可,此方法不仅不会影响到已有业务对字段信息的调用,还可以避免方法重载导致的代码整洁性和可维护性差的缺陷。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
应用场景总览
首先参考图1。
图1示意性示出了根据本发明实施方式的自动生成代码的方法、装置、介质及计算机设备的应用场景。需要注意的是,图1所示仅为可以应用本发明实施例的应用场景的实例,以帮助本领域技术人员理解本发明的技术内容,但并不意味着本发明实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景包括电子设备100,其中该电子设备100可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于平板电脑110、智能手机120、膝上型便携计算机130和台式计算机等等。
电子设备100在第一时刻可以显示有第一页面101,当其响应于用户的操作在第二时刻由第一页面101跳转至第二页面102时,同时需要将第一页面101的一些参数(字段信息)传输给第二页面102,以为第二页面102的生成及显示提供参数。
在一些实施例中,为了实现参数自第一页面至第二页面的传输,需要开发人员预先编写参数存取的代码,其中存放参数的代码用于将第一页面的参数存入Bundle媒介中,提取参数的代码用于将Bundle媒介中存储的参数提取出来供第二页面调用,则电子设备通过获取执行该参数存取的代码即可实现参数自第一页面至第二页面的传输。但考虑到参数是以键-值对的形式存取的,因此开发人员在编写代码时需要为每个参数定义唯一的键,并以该定义的唯一的键进行参数的存取,但该键的具体字段名和具体值实际上只要保证唯一,且在存取跳转参数时能够一一对应即可,开发人员并不需要关心其具体定义,这就导致了传递参数的方法实现中,需要开发者关心毫无意义却又不得不关心的问题,无疑会大大增加开发者的开发成本。
根据本发明的实施例,该应用场景还可以包括另一电子设备300和服务器400,另一电子设备300可以通过网络200与服务器400进行信息交互,且电子设备100也可以通过网络200与服务器400进行信息交互。该网络可以为局域网、广域网等。服务器400可以为任何能够提供数据传输服务或处理功能服务的服务器设备。例如,用户可以通过电子设备100向服务器400发送页面获取请求,服务器400将请求的页面发送给电子设备100。
根据本发明的实施例,另一电子设备300例如还可以响应于开发人员的操作,根据第一页面的参数自动生成用于实现存取由第一页面传输给第二页面的参数的代码,并将该代码发送给服务器400,供电子设备100获取调用。
根据本发明的实施例,另一电子设备300例如可以是具有显示屏并且可以安装应用程序的各种电子设备,响应于用户的操作,另一电子设备300可以显示待封装的由第一页面传输给第二页面的参数列表,响应于用户选择参数并提交的操作,该另一电子设备300即可根据选择的参数自动生成存取代码,无需开发人员介入,且键的定义可以自动根据参数实现,无需开发人员设定。
需要说明的是,本发明实施例所提供的自动生成代码的方法可以由另一电子设备300执行。相应地,本发明实施例所提供的自动生成代码的装置也可以设置于另一电子设备300中。
应该理解,图1中的电子设备、网络、页面和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、页面和服务器。
示例性方法
下面结合图1的应用场景,参考图2~6来描述根据本发明示例性实施方式的自动生成代码的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。
图2示意性示出了根据本发明一实施例的自动生成代码的方法的流程图。
如图2所示,根据本发明实施例的自动生成代码的方法包括操作S210~操作S220。
在操作S210,获取第一页面的待处理的一个或多个字段信息,该待处理的一个或多个字段信息属于同一类。
在操作S220,根据预设规则及所述待处理的一个或多个字段信息,生成第一代码、第二代码及第三代码,其中,根据第三代码获取的待处理的一个或多个字段信息供第二页面调用。
根据本发明的实施例,待处理的一个或多个字段信息属于同一类的含义包括:待处理的一个或多个字段信息是在同一类中定义的,该类例如可以是预先创建好的,则在执行该方法之前,应该将需要封装到该类的字段信息(即需要传输至第二页面的字段信息)声明在该类中作为成员变量(具体由开发人员编写代码声明在该类中,字段信息的定义代码例如可以是private int animStartY)。根据本发明的实施例,该类例如可以是BundleBuilder类等,在此不再赘述。
根据本发明的实施例,上述第一代码是用于定义与待处理的一个或多个字段一一对应的一个或多个常量的代码,这里的常量是指传统方式需要开发人员定义的Bundle Key信息,该第一代码例如可以是根据常量定义规则生成的。其中,常量定义规则具体例如可以是:遍历操作S210中获取的字段信息(例如“animStartY”),将其分别通过驼峰下划线命名转换法得到所需的字段名称(例如“anim_Start_Y”),然后将字段名称转化为大写字母添加访问权限(private)、静态标识(static)、final关键字、字符串标识(String)和字段前缀“PARAM_”作为静态常量Key的字段名(例如可以是“private static final String PARAM_ANIM_START_Y”),随后将字段名称转化为小写字母并添加“param_”前缀作为Key的字段值(例如可以是“param_anim_start_y”),以得到与字段信息对应的第一代码(例如privatestatic final String PARAM_ANIM_START_Y=“param_anim_start_y”),则通过该常量定义规则定义的与每个字段信息对应的常量包括:具有预设前缀(例如“PARAM_”)的、以第二预定格式(大写格式)表示的待处理的字段信息(PARAM_ANIM_START_Y)。
根据本发明的实施例,上述第二代码是用于将待处理的一个或多个字段信息及所述一个或多个常量存入预设空间的第二代码,该第二代码例如可以是根据存储规则生成的。根据本发明的实施例,该第二代码例如可以包括:定义分别根据待处理的一个或多个字段信息命名的一个或多个方法的代码,以及将一个或多个字段信息及与所述一个或多个字段信息一一对应的一个或多个常量,以键-值对的形式存入预设空间的代码,其中,一个或多个方法中每个方法的参数列表信息包括一个字段信息。
上述存储规则例如可以是:以操作S210中获取的每个字段信息分别作为一个方法名,将方法参数列表信息设置为字段信息的类型和字段信息定义方法(例如:PublicVideoDetailBundleBuilder animStartY(int animStartY)),将方法体内容设置为Bundle实例信息,拼接“put”,拼接字段信息的类型,以字段信息对应的常量作为键,以字段信息为值生成将字段信息和常量存入预设空间的第二代码(例如:mBundle.putInt(PARAM_ANIM_START_Y,animStartY))。
根据本发明的实施例,在上述存储规则中,若操作S210中获取的字段信息为复杂数据类型,则作为Serializable处理,具体地,若字段信息(例如data)的类型为复杂数据类型BaseVideoBean,则将对应的键值对存入预设空间的代码为mBundle.putSerializable(PARAM_DATA,data)。
根据本发明的实施例,上述第二代码例如还可以包括定义方法返回值的代码,则上述存储规则还可以包括:获取字段信息所属类的类名信息,将方法返回值设置为该类名(例如:return this),本公开实施例通过以类名作为方法的返回值,可使得该方法支持被外部连续调用,实现链式使用,以解决现有技术中因为方法重载导致的代码整洁性和可维护性差的问题,且通过该链式调用可以使得第三代码定义的方法之间关联更为紧密,代码更加简洁。
根据本发明的实施例,上述第三代码是用于基于一个或多个常量,自预设空间获取待处理的一个或多个字段信息的第三代码。根据该第三代码获取的字段信息供第二页面调用。该第三代码例如可以是根据解析规则生成的。其中,解析规则具体例如可以是:首先定义一个方法,访问权限为public、方法名为convert、接受参数类型为Bundle(定义方法的代码例如可以是public VideoDetailBundleBuilder convert(Bundle bundle));然后通过以下规则为该方法体生成内容,依次获取操作S210获取的每个字段信息的类型,依次为每个字段信息生成赋值语句,字段值等于bundle.get加字段信息的类型加字段信息对应的常量(赋值语句例如可以是:animStartY=bundle.getInt(PARAM_ANIM_START_Y)),直至得到操作S210获取的每个字段信息的赋值语句。
根据本发明的实施例,在上述解析规则中,对于复杂类型的字段信息的获取,则拼接对象类型强制转换的代码,通过getSerializable的方式获取,例如,对于类型为复杂类型BaseVideoBean的字段信息data的获取,为该data生成的赋值语句例如可以为data=(BaseVideoBean)bundle.getSerializable(PARAM_DATA)。
根据本发明的实施例,例如还可以将由第三代码获取的一个或多个字段信息作为页面的成员变量进行管理,以在自预设空间一次获取后供多个第二页面调用,避免在多个第二页面需要调用该字段信息时,需要自预设空间多次获取的情况发生,并因此降低资源消耗,提高字段信息调用效率。
根据本发明的实施例,对于存在已处理的一个或多个字段信息的情况下,根据上述操作S220生成的与待处理的每个字段信息对应的第一代码、第二代码和第三代码例如可以分别生成于与已处理的字段信息对应第一代码、第二代码和第三代码之后。具体地,对于定义常量的第一代码,由于已有的BundleBuilder类已经有部分Bundle代码,则可以将与待处理的字段信息对应的第一代码作为新增Key信息的代码,并将该新增Key信息的第一代码添加到已有Key信息的第一代码的后面;对于第三代码的生成,上述解析规则在定义方法之后,例如先在类中根据定义的方法convert查找方法,如果已存在方法convert,则为追加模式,若不存在方法convert,则为首次添加模式,首次添加模式下,生成方法体内容后,将生成的方法体内容直接添加到类的最后一行,追加模式下,则在生成方法体内容后,将生成的方法体内容添加到convert方法的倒数第一行前面作为倒数第二行,而该convert方法的倒数第一行则为表示结束的“}”符号。综上可知,通过上述规则,可以保证最终生成的代码可以分为定义常量的第一代码块、存入预设空间的第二代码块和获取字段信息的第三代码块,使得整个代码的整洁性和可维护性高,降低后续对业务进行迭代的成本,为开发人员的开发提供便利,并因此为开发人员带来更好的体验。
根据本发明的实施例,上述操作S220除了生成第一代码、第二代码和第三代码外,例如还可以根据预设规则及一个或多个字段信息,生成第四代码,该第四代码用于调用根据第三代码获取的待处理的一个或多个字段信息,从而实现第二页面对待处理的一个或多个字段信息的调用。
其中,执行第四代码可以直接获取到通过执行第三代码解析后的Bundle中的字段信息,该第四代码例如可以是根据调用规则生成的,该调用规则具体例如可以是:将操作S210中获取的字段信息的首字母转换为大写,在首字母转换为大写的字段信息前添加“get”前缀作为方法名、访问权限为public,在访问权限与方法名之间加上字段信息对应的类型作为取值方法的定义(例如public int getAnimStartY()),然后以该字段信息作为该取值方法的返回值(例如return animStartY),以使得第二页面得到通过执行第三代码获取的字段信息。
根据本发明的实施例,通过上述自动生成代码的方法,可以根据预设规则及字段信息自动生成定义常量的第一代码、存入字段信息的第二代码和读取字段信息的第三代码,其中作为键的常量也可以根据字段信息及预设规则生成,整个过程无需开发人员人为写代码,且开发人员也无需再关注存取代码中键的定义,因此可以显著地降低开发成本;更进一步地,通过将与待处理的字段信息对应的代码分别生成于已处理字段信息对应的代码之后,并且为每个字段信息定义一个方法,可以提升代码的整洁性和可维护性,从而为用户带来了更好的体验。
图3示意性示出了根据本发明一实施例的获取第一页面待处理的字段信息的流程图;图4示意性示出了根据本发明一实施例的获取第一页面未处理的字段信息的流程图。
如图3所示,参考图2中的操作S210例如可以具体包括操作S310-操作S330。
在操作S310,获取第一页面的未处理的一个或多个字段信息;
在操作S320,展示未处理的一个或多个字段信息;
在操作S330,响应于用户的操作,自未处理的一个或多个字段信息中确定待处理的一个或多个字段信息。
根据本发明的实施例,在电子设备100由第一页面101跳转至第二页面102时,例如需要传输m个字段信息至第二页面,而在跳转至另一第二页面时,例如需要传输n个字段信息至另一第二页面,该m个字段信息与n个字段信息之间例如具有相同的k个字段信息,且已预先生成了实现所述n个字段信息存取的代码,则在生成实现m个字段信息存取的代码时,仅需要追加实现m个字段信息中除k个字段信息外的其他字段信息存取的代码即可,因此,操作S310中获取的第一页面未处理的一个或多个字段信息即为m个字段信息中的其他字段信息。
根据本发明的实施例,该未处理的一个或多个字段信息的获取如图4所示,可以包括操作S311~操作S313。在操作S311,获取第一页面的属于同一类的全部字段信息;在操作S312,将获取的全部字段信息的格式转换为第一预定格式;在操作S313,基于存储的已处理字段信息,遍历转换为第一预定格式的所述全部字段信息,确定所述全部字段信息中未被处理的字段信息。其中,存储的已处理字段信息的格式为第一预定格式。
根据本发明的实施例,考虑到开发人员在定义第一页面的参数时,为了便于后续跳转页面时参数的传输,通常会将需要传输的参数定义于同一类(例如Bundle类/BundleBuilder类)中,因此在操作S311中,具体可以是获取第一页面的属于Bundle Builder类的全部字段信息。
根据本发明的实施例,参考图2中的自动生成代码的方法例如还可以将操作S210中获取的字段信息转换为第一预定格式后存入已处理字段集合中,形成已处理字段信息列表,则在操作S312~操作S313中,通过将获取的全部字段信息转换为第一预定格式后,依次与已处理字段信息列表进行比对,若已处理字段信息列表中存在转换为第一预定格式的字段信息,则说明该字段信息已被处理,若不存在,则说明该字段信息为未被处理的字段信息。
根据本发明的实施例,上述第一预定格式例如可以为与字段信息对应的常量的格式,或者任意的其他格式,只要保证能够过滤掉已处理字段信息即可。根据本发明的实施例,若在一些特定情况下,需要重新生成已生成字段信息的存取代码,则在已处理字段信息列表中删除该字段信息的第一预定格式的字段信息即可。
根据本发明的实施例,上述操作S312具体例如可以是通过参考图1描述的另一电子设备300的显示屏展示未处理的字段信息,以供用户选择。
根据本发明的实施例,该显示屏除了展示有未处理的字段信息外,例如还可以展示有一些功能控件,例如全选控件,则用户通过点击该全选控件,则可以实现字段信息全部选择或均不选择的功能;例如与每个字段信息对应的单选控件,用户通过点击该单选控件,可以实现对应的字段信息被选择或不被选择的功能;例如帮助控件,用户通过点击该帮助控件,可以弹出帮助对话框,以向用户提供一些基本的帮助信息的指引;例如确定控件和取消控件,用户通过点击确定控件即可根据用户选择的字段信息自动执行参考图2描述的操作S220,以生成与选择的字段信息对应的存取代码,用户通过点击取消控件,则可以取消该自动生成代码的方法的执行,则操作S330中用户的操作,即为用户点击单选控件或全选控件的操作。
根据本发明的实施例,上述待处理的字段信息的获取具体例如可以通过软件的方式实现,例如可以进行模块化的设计,以提供处理功能和UI界面,通过处理功能实现字段信息的获取和代码的自动生成,通过UI界面接收用户的操作。
综上可知,本公开实施例的待处理的字段信息的获取,可以过滤掉已生成存取代码的字段信息,且字段信息的封装可以通过展示界面由开发人员选择决定,可以有效避免不必要字段信息的封装,且可以避免因开发人员误操作再生成与已处理字段信息对应的代码,并因此可以提高自动生成代码方法使用体验的友好性。
图5示意性示出了根据本发明另一实施例的自动生成代码的方法的流程图。
如图5所示,该自动生成代码的方法除了操作S210~操作S220之外,还包括操作S510,其中,操作S510可以在操作S210与操作S220之间执行。
在操作S510,在不存在定义实例的代码的情况下,根据一个或多个字段信息所属类的实例生成规则生成定义实例的代码。
根据本发明的实施例,考虑到类为抽象的模板,具体操作必须由根据类创建出来的实例执行,而在首次生成存取代码时是不存在类的实例的,因此在执行完操作S210后,例如可以自动判断Bundle Builder类中是否存在Bundle实例字段,若不存在,则生成Bundle实例代码“private Bundle mBundle=new Bundle();”,以为后续操作S220中代码的自动生成提供条件;若已存在Bundle实例字段,说明已生成了部分字段信息的存取代码,则不做处理,直接执行操作S220。
图6示意性示出了根据本发明又一实施例的自动生成代码的方法的流程图。
如图6所示,该自动生成代码的方法除了操作S210~操作S220外,还包括操作S610,该操作S610可以在操作S210与操作S220之间执行。
在操作S610,在不存在已声明接口的情况下,根据接口声明规则生成声明接口的代码,该接口与待处理的一个或多个字段信息所属类相对应。
根据本发明的实施例,操作S220生成的第三代码中方法convert的声明例如可以封装至接口中,则在操作S210获取到待处理的字段信息后,还可以主动搜索项目中是否有定义的接口(具体例如可以是INRBundleBuilder接口),如果搜索到多个接口,则默认只使用第一个接口,若该多个接口存在冲突,例如还可以向开发者发出报警,以提醒开发者处理该冲突;如果没有接口,则需要根据接口声明规则生成声明接口的代码,其中的接口声明规则例如可以是通用的JAVA语言的接口声明规则,自动生成的声明接口的代码具体可以如下所示:
public Interface INRBundleBuilder extends IPatchBean{
INRBundleBuilder convert(Bundle bundle);
}
其中定义了convert方法,以供执行第三代码自预设空间获取字段信息时调用。
根据本发明的实施例,考虑到实现了接口,则在操作S220中自动生成第三代码时,解析规则中定义方法名为convert的方法时,需要将该方法标注为Override,即在第三代码的首行设置为@Override。
根据本发明的实施例,例如还可以在上述接口中声明bundle builder的接口,通过调用该接口,还可以导入定义Bundle Builder类时用到的API内容,具体例如可以是在操作S220通过调用接口生成第三代码后,进行自动导包,以便于统一管理。
示例性装置
在介绍了本发明示例性实施方式的方法之后,接下来,参考图7对本发明示例性实施方式的自动生成代码的装置进行说明。
图7示意性示出了根据本发明实施例的自动生成代码的装置700的方框图。
如图7所示,根据本发明实施例,该自动生成代码的装置可以包括获取模块710和代码生成模块720。该自动生成代码的装置可以用于实现根据本发明实施例的自动生成代码的方法。
获取模块710用于获取第一页面的待处理的一个或多个字段信息,该待处理的一个或多个字段信息属于同一类(操作S210)。
代码生成模块720用于根据预设规则及待处理的一个或多个字段信息,生成第一代码、第二代码和第三代码,第一代码用于定义与待处理的一个或多个字段信息一一对应的一个或多个常量,第二代码用于将待处理的一个或多个字段信息及一个或多个常量存入预设空间,第三代码用于基于一个或多个常量,自预设空间获取待处理的一个或多个字段信息,其中,根据第三代码获取的待处理的一个或多个字段信息可以供第二页面调用。(操作S220)。
根据本发明的实施例,该代码生成模块720例如还可以用于生成调用根据第三代码获取的待处理的一个或多个字段信息的第四代码,则参考图1中的电子设备100通过执行该第四代码即可将字段信息传输给第二页面。
根据本发明的实施例,第一代码例如可以是根据常量定义规则生成的,第二代码例如可以是根据存储规则生成的,第三代码例如可以是根据解析规则生成的,并且/或者,第四代码例如可以是根据调用规则生成的,此处的常量定义规则、存储规则、解析规则及调用规则在对自动生成代码的方法中已做了详细描述,此处不再赘述。
根据本发明的实施例,在存在已处理的一个或多个字段信息的情况下,与待处理的一个或多个字段信息对应的第一代码、第二代码和第三代码例如可以分别生成于与已处理的一个或多个字段信息对应的第一代码、第二代码和第三代码之后。
根据本发明的实施例,与待处理的一个或多个字段信息一一对应的一个或多个常量包括:具有预设前缀的、以第二预定格式表示的待处理的一个或多个字段信息。
根据本发明的实施例,上述第二代码包括:定义分别根据待处理的一个或多个字段信息命名的一个或多个方法的代码,该一个或多个方法的参数列表信息包括一个或多个字段信息;以及将一个或多个字段信息及与一个或多个字段信息一一对应的一个或多个常量,以键-值对的形式存入所述预设空间的代码,其中,一个或多个方法的返回值为一个或多个字段信息所属类的类名。
根据本发明的实施例,获取模块710例如可以包括获取子模块711、展示子模块712和确定子模块713。获取子模块用于获取第一页面的未处理的一个或多个字段信息(操作S310),展示子模块用于展示未处理的一个或多个字段信息(操作S320),确定子模块用于响应于用户的操作,自未处理的一个或多个字段信息中确定待处理的一个或多个字段信息(操作S330)。
根据本发明的实施例,获取子模块711例如可以包括获取单元7111、转换单元7112和确定单元7113。其中,获取单元用于获取第一页面的属于同一类的全部字段信息(操作S311),转换单元用于将全部字段信息的格式转换为第一预定格式(操作S312),确定单元用于基于存储的已处理字段信息,遍历转换为第一预定格式的全部字段信息,确定全部字段信息中未被处理的字段信息(操作S313),其中,存储的已处理字段信息的格式为第一预定格式。
根据本发明的实施例,该自动生成代码的装置700还可以包括接口声明模块730、和/或实例定义模块740。
接口声明模块730用于在不存在已声明接口的情况下,根据接口声明规则生成声明接口的代码,其中,该接口与待处理的一个或多个字段信息所属类相对应(操作S610)。
实例定义模块740用于在不存在定义实例的代码的情况下,根据一个或多个字段信息所属类的实例生成规则生成定义实例的代码(操作S510)。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,参考图8对本发明示例性实施方式的适用于自动生成代码的计算机可读存储介质进行介绍。
根据本发明的实施例,还提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行根据本发明实施例的自动生成代码的方法。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算设备上运行时,所述程序代码用于使所述计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的用于自动生成代码的方法中的步骤,例如,所述计算设备可以执行如图2中所示的步骤S210:获取第一页面的待处理的一个或多个字段信息,该待处理的一个或多个字段信息属于同一类;步骤S220:根据预设规则及待处理的一个或多个字段信息,生成第一代码、第二代码和第三代码,第一代码用于定义与待处理的一个或多个字段信息一一对应的一个或多个常量,第二代码用于将待处理的一个或多个字段信息及一个或多个常量存入预设空间,第三代码用于基于一个或多个常量,自预设空间获取待处理的一个或多个字段信息。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
图8示意性地示出了根据本发明实施方式的适用于自动生成代码的程序产品800的示意图。
如图8所示,描述了根据本发明的实施方式的用于自动生成代码的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言——诸如Java,C++等,还包括常规的过程式程序设计语言——诸如“C”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图9对本发明示例性实施方式的适用于自动生成代码的计算机设备进行说明。
本发明实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的自动生成代码的方法中的步骤。例如,所述处理单元可以执行如图2中所示的步骤S210:获取第一页面的待处理的一个或多个字段信息,该待处理的一个或多个字段信息属于同一类;步骤S220:根据预设规则及待处理的一个或多个字段信息,生成第一代码、第二代码和第三代码,第一代码用于定义与待处理的一个或多个字段信息一一对应的一个或多个常量,第二代码用于将待处理的一个或多个字段信息及一个或多个常量存入预设空间,第三代码用于基于一个或多个常量,自预设空间获取待处理的一个或多个字段信息。
下面参照图9来描述根据本发明的这种实施方式的用于自动生成代码的计算设备900。如图9所示的计算设备900仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算设备900以通用计算设备的形式表现。计算设备900的组件可以包括但不限于:上述至少一个处理单元901、上述至少一个存储单元902、连接不同系统组件(包括存储单元902和处理单元901)的总线903。
总线903可以包括数据总线、地址总线和控制总线。
存储单元902可以包括易失性存储器,例如随机存取存储器(RAM)9021和/或高速缓存存储器9022,还可以进一步包括只读存储器(ROM)923。
存储单元902还可以包括具有一组(至少一个)程序模块9024的程序/实用工具9025,这样的程序模块9024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备900也可以与一个或多个外部设备904(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口905进行。并且,计算设备900还可以通过网络适配器906与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器906通过总线903与计算设备900的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备900使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

Claims (10)

1.一种自动生成代码的方法,包括:
获取第一页面的待处理的一个或多个字段信息,所述待处理的一个或多个字段信息属于同一类;以及
根据预设规则及所述待处理的一个或多个字段信息,生成以下代码:
定义与所述待处理的一个或多个字段信息一一对应的一个或多个常量的第一代码;
将所述待处理的一个或多个字段信息及所述一个或多个常量存入预设空间的第二代码;以及
基于所述一个或多个常量,自所述预设空间获取所述待处理的一个或多个字段信息的第三代码,
其中,根据所述第三代码获取的所述待处理的一个或多个字段信息供第二页面调用。
2.根据权利要求1所述的方法,其中,所述获取第一页面待处理的一个或多个字段信息包括:
获取第一页面的未处理的一个或多个字段信息;
展示所述未处理的一个或多个字段信息;以及
响应于用户的操作,自所述未处理的一个或多个字段信息中确定所述待处理的一个或多个字段信息。
3.根据权利要求2所述的方法,其中,所述获取第一页面的未处理的一个或多个字段信息包括:
获取所述第一页面的属于同一类的全部字段信息;
将所述全部字段信息的格式转换为第一预定格式;以及
基于存储的已处理字段信息,遍历转换为第一预定格式的所述全部字段信息,确定所述全部字段信息中未被处理的字段信息,
其中,所述存储的已处理字段信息的格式为第一预定格式。
4.根据权利要求1所述的方法,其中:
在根据预设规则及所述一个或多个字段信息,生成代码之前,所述方法还包括:
在不存在已声明接口的情况下,根据接口声明规则生成声明接口的代码,所述接口与所述待处理的一个或多个字段信息所属类相对应;并且/或者
在不存在定义实例的代码的情况下,根据所述一个或多个字段信息所属类的实例生成规则生成定义实例的代码。
5.根据权利要求1所述的方法,其中:
在存在已处理的一个或多个字段信息的情况下,与所述待处理的一个或多个字段信息对应的第一代码、第二代码和第三代码分别生成于与所述已处理的一个或多个字段信息对应的第一代码、第二代码和第三代码之后;并且/或者
与所述待处理的一个或多个字段信息一一对应的一个或多个常量包括:具有预设前缀的、以第二预定格式表示的所述待处理的一个或多个字段信息。
6.根据权利要求1所述的方法,其中,所述预设规则包括所述一个或多个字段信息所属类的以下至少一个规则:
常量定义规则,用于作为生成所述第一代码的依据;
存储规则,用于作为生成所述第二代码的依据;
解析规则,用于作为生成所述第三代码的依据;和/或
调用规则,用于作为生成调用根据所述第三代码获取的所述待处理的一个或多个字段信息的第四代码的依据,
其中,所述根据预设规则及所述一个或多个字段信息,还生成所述第四代码,以实现所述第二页面对所述待处理的一个或多个字段信息的调用。
7.根据权利要求1所述的方法,其中,所述第二代码包括:
定义分别根据所述待处理的一个或多个字段信息命名的一个或多个方法的代码,所述一个或多个方法中每个方法的参数列表信息包括一个字段信息;以及
将所述一个或多个字段信息及与所述一个或多个字段信息一一对应的一个或多个常量,以键-值对的形式存入所述预设空间的代码,
其中,所述一个或多个方法的返回值为所述一个或多个字段信息所属类的类名。
8.一种自动生成代码的装置,包括:
获取模块,获取第一页面的待处理的一个或多个字段信息,所述待处理的一个或多个字段信息属于同一类;以及
代码生成模块,根据预设规则及所述待处理的一个或多个字段信息,生成以下代码:
定义与所述待处理的一个或多个字段信息一一对应的一个或多个常量的第一代码;
将所述待处理的一个或多个字段信息及所述一个或多个常量存入预设空间的第二代码;以及
基于所述一个或多个常量,自所述预设空间获取所述待处理的一个或多个字段信息的第三代码,
其中,根据所述第三代码获取的所述待处理的一个或多个字段信息供第二页面调用。
9.一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行根据权利要求1~7中任意一项所述的方法。
10.一种计算设备,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,执行所述可执行指令,用以实现根据权利要求1~7中任意一项所述的方法。
CN201811238459.XA 2018-10-23 2018-10-23 自动生成代码的方法、装置、介质和计算设备 Active CN109408057B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811238459.XA CN109408057B (zh) 2018-10-23 2018-10-23 自动生成代码的方法、装置、介质和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811238459.XA CN109408057B (zh) 2018-10-23 2018-10-23 自动生成代码的方法、装置、介质和计算设备

Publications (2)

Publication Number Publication Date
CN109408057A true CN109408057A (zh) 2019-03-01
CN109408057B CN109408057B (zh) 2022-03-04

Family

ID=65469017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811238459.XA Active CN109408057B (zh) 2018-10-23 2018-10-23 自动生成代码的方法、装置、介质和计算设备

Country Status (1)

Country Link
CN (1) CN109408057B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021022703A1 (zh) * 2019-08-08 2021-02-11 平安科技(深圳)有限公司 软件项目重构方法、装置、计算机装置及存储介质
CN114637497A (zh) * 2022-05-19 2022-06-17 佛山众陶联供应链服务有限公司 一种接口序列化响应字段的方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049736A1 (en) * 2002-09-05 2004-03-11 Abdul Al-Azzawe Method for creating wrapper XML stored procedure
CN102591654A (zh) * 2011-12-28 2012-07-18 方正国际软件有限公司 一种基于ssh架构的代码生成器及方法
CN102968306A (zh) * 2012-11-29 2013-03-13 广东全通教育股份有限公司 一种基于数据模型驱动的代码自动生成方法和系统
CN104572035A (zh) * 2013-10-11 2015-04-29 北大方正集团有限公司 网页代码的动态生成方法和动态生成系统
US20160085527A1 (en) * 2014-09-18 2016-03-24 Facebook, Inc. Code placement using a dynamic call graph
CN106293664A (zh) * 2015-05-27 2017-01-04 交通银行股份有限公司 代码生成方法及装置
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
CN106445497A (zh) * 2016-06-12 2017-02-22 杭州勒芒科技有限公司 应用程序开发方法及系统
CN108334392A (zh) * 2018-01-09 2018-07-27 武汉斗鱼网络科技有限公司 安卓系统中启动页面的方法、存储介质、设备及系统
CN108469953A (zh) * 2018-03-13 2018-08-31 深圳市易聆科信息技术股份有限公司 一种页面表单的生成方法、服务器及存储介质
CN108595162A (zh) * 2018-03-20 2018-09-28 北京车音网科技有限公司 一种代码生成方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040049736A1 (en) * 2002-09-05 2004-03-11 Abdul Al-Azzawe Method for creating wrapper XML stored procedure
CN102591654A (zh) * 2011-12-28 2012-07-18 方正国际软件有限公司 一种基于ssh架构的代码生成器及方法
CN102968306A (zh) * 2012-11-29 2013-03-13 广东全通教育股份有限公司 一种基于数据模型驱动的代码自动生成方法和系统
CN104572035A (zh) * 2013-10-11 2015-04-29 北大方正集团有限公司 网页代码的动态生成方法和动态生成系统
US20160085527A1 (en) * 2014-09-18 2016-03-24 Facebook, Inc. Code placement using a dynamic call graph
CN106293664A (zh) * 2015-05-27 2017-01-04 交通银行股份有限公司 代码生成方法及装置
CN106445497A (zh) * 2016-06-12 2017-02-22 杭州勒芒科技有限公司 应用程序开发方法及系统
CN106445556A (zh) * 2016-10-18 2017-02-22 中国银行股份有限公司 一种可视化代码生成方法及系统
CN108334392A (zh) * 2018-01-09 2018-07-27 武汉斗鱼网络科技有限公司 安卓系统中启动页面的方法、存储介质、设备及系统
CN108469953A (zh) * 2018-03-13 2018-08-31 深圳市易聆科信息技术股份有限公司 一种页面表单的生成方法、服务器及存储介质
CN108595162A (zh) * 2018-03-20 2018-09-28 北京车音网科技有限公司 一种代码生成方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
VINODKUMAR H KIRANAGI 等: "Feature Driven Hybrid Test Automation Framework (FDHTAF) for web based or cloud based application testing", 《IN PROCEEDINGS OF THE 2017 INTERNATIONAL CONFERENCE ON SMART TECHNOLOGIES FOR SMART NATION (SMARTTECHCON)》 *
吴兴茹 等: "基于函数调用图的Android重打包应用检测", 《计算机工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021022703A1 (zh) * 2019-08-08 2021-02-11 平安科技(深圳)有限公司 软件项目重构方法、装置、计算机装置及存储介质
CN114637497A (zh) * 2022-05-19 2022-06-17 佛山众陶联供应链服务有限公司 一种接口序列化响应字段的方法及系统

Also Published As

Publication number Publication date
CN109408057B (zh) 2022-03-04

Similar Documents

Publication Publication Date Title
CN108885545B (zh) 用于实时数据流编程语言的工具和方法
CN111651224B (zh) 用于识别、索引和导航至移动应用的深度状态的系统和方法
CN108293081B (zh) 通过用户界面事件的程序重放深度链接到移动应用状态
CN107943691B (zh) 一种自动产生智能合约的功能测试页面的方法及装置
US7975233B2 (en) Automatic conversion of a textual language into a graphical program representation
US7954059B2 (en) Automatic conversion of text-based code having function overloading and dynamic types into a graphical program for compiled execution
JP7324831B2 (ja) ディープラーニングフレームワークにおける演算子の展開方法、展開装置及び電子機器
CN109086215B (zh) 一种嵌入式软件单元测试用例生成方法及系统
CN108920496B (zh) 一种渲染方法及装置
CN109739600A (zh) 数据处理方法、介质、装置和计算设备
Ciobanu et al. Flexible software architecture and language for mobile agents
WO2017081558A1 (en) Monitoring and actuation of view controller parameters to reach deep states without manual developer intervention
CN111881042A (zh) 自动化测试脚本的生成方法、装置和电子设备
CN106648569A (zh) 目标序列化实现方法和装置
CN112988165A (zh) 基于Kubernetes的交互式建模方法、装置、电子设备及存储介质
CN109408057A (zh) 自动生成代码的方法、装置、介质和计算设备
KR20140116438A (ko) 연산 순서의 그래픽 표현 기법
CN114780100A (zh) 编译方法、电子设备及存储介质
CN113934429A (zh) 一种设计稿的转换方法、装置、计算机设备和存储介质
CN108153745B (zh) 一种应用数据调用方法及应用开发系统
CN113238739A (zh) 一种插件开发和数据获取方法、装置、电子设备及介质
US8954307B1 (en) Chained programming language preprocessors for circuit simulation
CN116028062A (zh) 目标代码的生成方法、npu指令的显示方法及装置
CN109815455A (zh) 项目文件处理方法和装置
CN114911541A (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