一种代码生成方法、装置、电子设备及存储介质与流程

文档序号:34144617发布日期:2023-05-13 16:01阅读:48来源:国知局
一种代码生成方法、装置、电子设备及存储介质与流程

本申请涉及计算机领域,具体涉及一种代码生成方法、装置、电子设备及计算机可读存储介质。


背景技术:

1、在前端页面开发领域,低代码开发平台(lcdp,low-code development platform)是无需代码或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行前端页面开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页。但是这种低代码开发方式常用于页面布局简单、组件交互逻辑不复杂的页面,比如营销活动页面、表单、表格、报表等场景,对于逻辑流程比较复杂的项目,比如游戏服务端开发或者大型软件开发等通常涉及到要对代码的开发。

2、低代码产品中,常常以类(或称对象与实体)为基础单元进行数据的组织与功能搭建。在开发平台内往往会出现同一份逻辑代码需要在不同的类中重新编写的情况,任何需求变化都需要修改代码,代码的重用率较低,这就导致在后续修改维护和扩展代码时,需要耗费大量的精力。并且,代码的编写,比如python代码等,通常有比较严谨的语法格式和逻辑,对开发人员的专业性要求比较高,一旦出现语法错误或者逻辑错误,都会导致程序异常无法正常运行,更有可能引起程序直接崩溃,从而延长了开发人员的开发时间,影响开发效率。


技术实现思路

1、本申请提供了一种代码生成方法、装置、电子设备及计算机可读存储介质,根据用户在低代码平台中添加类时,为类选择包括嵌套类的父类进行继承的操作,生成对应的有继承关系的嵌套类dsl语句,根据嵌套类dsl语句,生成带嵌套类的代码。通过类的继承操作,避免出现同一份逻辑代码在不同的类中重新编写的情况,提高了代码的重用率,另外通过用户的操作先生成带嵌套类的dsl语句,再根据dsl语句生成代码,无需用户直接编写带有严谨的语法格式和逻辑的代码,降低对开发人员的要求,缩短开发时间,提高开发效率。

2、第一方面,本申请实施例提供了一种代码生成方法,所述方法包括:

3、响应于在低代码开发平台中添加第一类并为所述第一类选择包括嵌套类的第一父类进行继承的操作,生成第一特定领域语言dsl声明语句;所述第一dsl声明语句包括所述第一类的类信息和第一嵌套字段,所述第一嵌套字段中包括所述第一嵌套类的类信息,所述第一嵌套类为所述第一类继承自所述第一父类的嵌套类;

4、根据所述第一dsl声明语句中的所述第一类的类信息,生成所述第一类的声明代码;

5、检测所述第一dsl声明语句中是否存在包括嵌套类的类信息的嵌套字段;

6、当检测所述第一dsl声明语句中存在包括所述第一嵌套类的类信息的第一嵌套字段时,根据所述第一嵌套类的类信息,生成相对于所述第一类的声明代码缩进的所述第一嵌套类的声明代码。

7、第二方面,本申请实施例提供了一种代码生成装置,所述装置包括:

8、生成单元,用于响应于在低代码开发平台中添加第一类并为所述第一类选择包括嵌套类的第一父类进行继承的操作,生成第一特定领域语言dsl声明语句;所述第一dsl声明语句包括所述第一类的类信息和第一嵌套字段,所述第一嵌套字段中包括所述第一嵌套类的类信息,所述第一嵌套类为所述第一类继承自所述第一父类的嵌套类;

9、生成单元,还用于根据所述第一dsl声明语句中的所述第一类的类信息,生成所述第一类的声明代码;

10、检测单元,用于检测所述第一dsl声明语句中是否存在包括嵌套类的类信息的嵌套字段;

11、生成单元,还用于当检测单元检测所述第一dsl声明语句中存在包括所述第一嵌套类的类信息的第一嵌套字段时,根据所述第一嵌套类的类信息,生成相对于所述第一类的声明代码缩进的所述第一嵌套类的声明代码。

12、第三方面,本申请实施例提供了一种电子设备,包括:

13、处理器;以及

14、存储器,用于存储数据处理程序,该电子设备通电并通过所述处理器运行该程序后,执行如第一方面所述的代码生成方法。

15、第四方面,本申请实施例提供了一种计算机可读存储介质,存储有数据处理程序,该程序被处理器运行,执行如第一方面所述的方法。

16、与现有技术相比,本申请具有以下优点:

17、响应于在低代码开发平台中添加第一类并为第一类选择包括嵌套类的第一父类进行继承的操作,生成第一特定领域语言dsl声明语句;第一dsl声明语句包括第一类的类信息和第一嵌套字段,第一嵌套字段中包括第一嵌套类的类信息,第一嵌套类为第一类继承自第一父类的嵌套类,根据第一dsl声明语句中的第一类的类信息,生成第一类的声明代码。即通过上述步骤可以实现根据在低代码开发平台中添加第一类并为第一类选择包括嵌套类的第一父类进行继承的操作,生成第一特定领域语言dsl声明语句,接着根据第一dsl声明语句中的第一类的类信息生成第一类的声明代码。然后,检测第一dsl声明语句中是否存在包括嵌套类的类信息的嵌套字段,当检测第一dsl声明语句中存在包括第一嵌套类的类信息的第一嵌套字段时,根据第一嵌套类的类信息,生成相对于第一类的声明代码缩进的第一嵌套类的声明代码,这样,就生成了带嵌套类的声明代码。

18、本申请提供的代码生成方法,根据用户在低代码平台中添加类时,为类选择包括嵌套类的父类进行继承的操作,生成对应的有继承关系的嵌套类dsl语句,根据嵌套类dsl语句,生成带嵌套类的代码。通过类的继承操作,避免出现同一份逻辑代码在不同的类中重新编写的情况,提高了代码的重用率,另外通过用户的操作先生成带嵌套类的dsl语句,再根据dsl语句生成代码,无需用户直接编写带有严谨的语法格式和逻辑的代码,降低对开发人员的要求,缩短开发时间,提高开发效率。



技术特征:

1.一种代码生成方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求2所述的方法,其特征在于,所述自定义功能对应的第二嵌套类包括用于定义所述自定义功能的实现逻辑的第二逻辑嵌套类、用于定义所述自定义功能的输入参数的第二输入嵌套类,以及用于定义所述自定义功能的输出参数的第二输出嵌套类;

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.根据权利要求4所述的方法,其特征在于,所述响应于在所述低代码开发平台中通过第一目标类对嵌套类进行引用的操作,生成所述嵌套类的dsl引用语句,包括:

6.根据权利要求4所述的方法,其特征在于,所述响应于在所述低代码开发平台中通过第一目标类对嵌套类进行引用的操作,生成所述嵌套类的dsl引用语句,包括:

7.根据权利要求5所述的方法,其特征在于,所述在所述第一目标类为所述嵌套类的外部类的情况下,响应于在所述低代码开发平台中通过所述第一目标类对所述嵌套类进行引用的操作,生成包括内部引用标识符的所述嵌套类的dsl引用语句,包括:

8.根据权利要求6所述的方法,其特征在于,所述在所述第一目标类不为所述嵌套类的外部类的情况下,响应于在所述低代码开发平台中通过所述第一目标类对所述嵌套类进行引用的操作,生成包括外部引用标识符的所述嵌套类的dsl引用语句,包括:

9.根据权利要求1所述的方法,其特征在于,所述方法还包括:

10.根据权利要求9所述的方法,其特征在于,所述响应于在所述低代码开发平台中使第二目标类继承嵌套类的操作,生成所述第二目标类继承所述嵌套类的dsl继承语句,包括:

11.根据权利要求9所述的方法,其特征在于,所述响应于在所述低代码开发平台中使第二目标类继承嵌套类的操作,生成所述第二目标类继承所述嵌套类的dsl继承语句,包括:

12.一种代码生成装置,其特征在于,所述装置包括:

13.一种电子设备,其特征在于,包括:

14.一种计算机可读存储介质,其特征在于,存储有数据处理程序,该程序被处理器运行,执行如权利要求1~11中任一项所述的方法。


技术总结
本申请公开了一种代码生成方法、装置、电子设备及存储介质,该方法包括:响应于在低代码开发平台中添加第一类并为第一类选择包括嵌套类的第一父类进行继承的操作,生成第一DSL声明语句;第一DSL声明语句包括第一类的类信息和第一嵌套字段,第一嵌套字段中包括第一嵌套类的类信息,第一嵌套类为第一类继承自第一父类的嵌套类,根据第一DSL声明语句中的第一类的类信息,生成第一类的声明代码,当检测第一DSL声明语句中存在包括第一嵌套类的类信息的第一嵌套字段时,根据第一嵌套类的类信息,生成相对于第一类的声明代码缩进的第一嵌套类的声明代码。本申请无需用户编写带有严谨语法和逻辑的代码,降低对开发人员的要求,提高开发效率。

技术研发人员:石海昕,张锡强,刘思彦,林崇义,刘柏,范长杰,周锋
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1