一种代码生成方法技术

技术编号:39786409 阅读:7 留言:0更新日期:2023-12-22 02:26
本发明专利技术实施例提供了一种代码生成方法

【技术实现步骤摘要】
一种代码生成方法、装置、电子设备及存储介质


[0001]本专利技术涉及计算机
,特别是涉及一种代码生成方法

装置

电子设备及存储介质


技术介绍

[0002]Java
语言:
Java
是一门面向对象的编程语言,不仅吸收了
C++
语言的各种优点,还摒弃了
C++
里难以理解的多继承

指针等概念,因此
Java
语言具有功能强大和简单易用两个特征
。Java
语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程

[0003]lambda
表达式:
lambda
是一种基于函数的编程语言,对于这种类型的语言典型的代表就是
Haskell。
但是从
Java
最早开始一直提倡的是面向对象编程,也就是说一切的操作必须有类,所有的功能都要定义在类之中

很多习惯于函数编程的开发者都觉得
Java
不好用,于是快在
20
年之后
Java
终于推出了
lambda
表达式

[0004]lambda
表达式,也可称为闭包,它是推动
java 8
发布的最重要新特性
。lambda
允许把函数作为一个方法的参数
(
函数作为参数传递进方法中
)。
使用
lambda
表达式可以使代码变的更加简洁紧凑

[0005]Java 8

lambda
表达式具有代码简洁

非常容易实现并行计算

可能代表未来的编程趋势的优点,但同时也存在若没有学过
lambda
表达式,代码抽象不容易被初学者看懂和应用的缺点


技术实现思路

[0006]鉴于上述问题,提出了本专利技术实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种代码生成方法

装置

电子设备及存储介质

[0007]第一方面,本专利技术实施例公开了一种代码生成方法,包括:
[0008]获取代码应用场景信息;
[0009]获取针对所述代码应用场景信息的用户输入信息,所述用户输入信息包括:方法体信息

变量命令信息

变量类型信息

参数信息中的至少一种;
[0010]根据所述代码应用场景信息和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式

[0011]可选地,所述根据所述代码应用场景信息和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式,包括:
[0012]获取代码模板;
[0013]根据所述代码应用场景信息,从所述代码模板中确定目标代码模板;
[0014]根据所述目标代码模板和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式

[0015]可选地,所述代码模板包括:
lambda
代码表达式的模板和非
lambda
代码表达式的
模板

[0016]可选地,所述代码模板包括:
List
遍历模板
、Set
遍历模板
、Map
遍历模板

事件监听模板
、Predicate filter
接口模板
、Map
迭代遍历模板
、Reduce
聚合模板

线程模板中的至少一种

[0017]可选地,所述代码应用场景信息包括:实现
Runnable
接口

事件处理

列表迭代

函数式接口
Predicate、Map、Reduce、
求集合元素的最大值

求集合元素的最小值

求集合元素的平均值
、stream
流中的至少一种

[0018]可选地,所述
lambda
代码表达式包括第一注释说明,所述第一注释说明包括对
lambda
代码表达式中的方法体的注释说明

[0019]可选地,所述方法还包括:
[0020]在用户界面展示所述
lambda
代码表达式和非
lambda
代码表达式

[0021]第二方面,本专利技术实施例公开了一种代码生成装置,包括:
[0022]代码应用场景信息获取模块,用于获取代码应用场景信息;
[0023]用户输入信息获取模块,用于获取针对所述代码应用场景信息的用户输入信息,所述用户输入信息包括:方法体信息

变量命令信息

变量类型信息

参数信息中的至少一种;
[0024]代码生成模块,用于根据所述代码应用场景信息和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式

[0025]可选地,所述代码生成模块具体用于:获取代码模板;根据所述代码应用场景信息,从所述代码模板中确定目标代码模板;根据所述目标代码模板和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式

[0026]可选地,所述代码模板包括:
lambda
代码表达式的模板和非
lambda
代码表达式的模板

[0027]可选地,所述代码模板包括:
List
遍历模板
、Set
遍历模板
、Map
遍历模板

事件监听模板
、Predicate filter
接口模板
、Map
迭代遍历模板
、Reduce
聚合模板

线程模板中的至少一种

[0028]可选地,所述代码应用场景信息包括:实现
Runnable
接口

事件处理

列表迭代

函数式接口
Predicate、Map、Reduce、...

【技术保护点】

【技术特征摘要】
1.
一种代码生成方法,其特征在于,包括:获取代码应用场景信息;获取针对所述代码应用场景信息的用户输入信息,所述用户输入信息包括:方法体信息

变量命令信息

变量类型信息

参数信息中的至少一种;根据所述代码应用场景信息和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式
。2.
根据权利要求1所述的代码生成方法,其特征在于,所述根据所述代码应用场景信息和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式,包括:获取代码模板;根据所述代码应用场景信息,从所述代码模板中确定目标代码模板;根据所述目标代码模板和所述用户输入信息,生成
lambda
代码表达式和非
lambda
代码表达式
。3.
根据权利要求2所述的代码生成方法,其特征在于,所述代码模板包括:
lambda
代码表达式的模板和非
lambda
代码表达式的模板
。4.
根据权利要求2所述的代码生成方法,其特征在于,所述代码模板包括:
List
遍历模板
、Set
遍历模板
、Map
遍历模板

事件监听模板
、Predicate filter
接口模板
、Map
迭代遍历模板
、Reduce
聚合模板

线程模板中的至少一种
。5.
根据权利要求1所述的代码生成方法,其特征在于,所述代码应用场景信息包括:实现
Runnable
接口

...

【专利技术属性】
技术研发人员:罗志成崔义芳王志海喻波韩振国
申请(专利权)人:北京明朝万达科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1