你们在实际工作中用过哪些代码自动生成技术?

2020-10-26 10:46:07 +08:00
 Hanggi

感觉越来越多的项目在使用代码自动生成技术。

Dart 用 bult_value 自动生成 JSON 数据解析代码, Angular 为了简化自身概念的复杂提供了大量生成组建或模块的方法, 很多 Java 工程也在使用逆向工程技术直接生成一个模块再进行修改。

感觉代码自动生成已经成为提高效率的重要手段,你们都用过哪些 code generation 技术?

6441 次点击
所在节点    程序员
42 条回复
Takamine
2020-10-26 17:46:00 +08:00
用 python 写的直接读 excel 生成 Java 文件。_(:з」∠)_
zunceng
2020-10-26 17:53:15 +08:00
简单点的 template 复杂的上 ast
EdwardXia
2020-10-26 17:53:44 +08:00
@DoctorCat 哈哈哈哈哈哈问出了我想问的
SaigyoujiYuyuko
2020-10-26 17:57:29 +08:00
getter setter constructor (
Asuka0947
2020-10-26 17:57:39 +08:00
jpa 算吗?
bleepbloop
2020-10-26 18:04:03 +08:00
flask-admin, flask-graphql, grpc, openapi, orm......
DoctorCat
2020-10-26 18:04:20 +08:00
anltr 生成一套简单的规则语言算么。btw 我突然想起了 thrift 的 code generation 过程…
ho121
2020-10-26 18:24:52 +08:00
excel
changwei
2020-10-26 18:40:06 +08:00
我用 idea 的 file template,自动生成一些脚手架代码(比如 react 里面的 with router,redux 的 connect,我改好文件模板以后,新建 tsx 文件会自动包裹好这些 hoc 高阶组件然后 export )
loshine1992
2020-10-26 18:48:01 +08:00
Android apt 生成统计代码
yplam
2020-10-26 19:04:34 +08:00
后端 crud 顺便提供了 pro table 初始模板生成接口,然后顺便把简单的 crud 前端也做了。。。
secondwtq
2020-10-26 19:49:01 +08:00
那可多了,包括且不限于 GCC,Clang,Babel,tsc,javac,HotSpot……
woodensail
2020-10-26 20:04:13 +08:00
@DoctorCat 还是刚工作的时候写的,早丢了。没啥技术含量。基本上就是模板生成,然后把字段名替换一下就行。
h3nng
2020-10-26 20:09:50 +08:00
codemodel 、gandiva
no1xsyzy
2020-10-26 20:21:55 +08:00
@lawler 异议!
抽象到极致的也可以是通过代码生成实现的,比如 Lisp 宏
dbskcnc
2020-10-26 20:25:30 +08:00
从 protobuf 生成 sql,grpc crud 接口
nuk
2020-10-26 20:26:41 +08:00
从 sql 还有注释,生成一大堆存储过程,还是我第一次用 peg 来做语法分析
missdeer
2020-10-26 20:27:34 +08:00
jinja2, swig 做胶水层
raaaaaar
2020-10-27 07:26:17 +08:00
IDE 自带的算么,感觉挺好用的。
dany813
2020-10-27 09:21:03 +08:00
自己定义模板

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/718572

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX