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

2020 年 10 月 26 日
 Hanggi

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

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

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

7701 次点击
所在节点    程序员
42 条回复
37Y37
2020 年 10 月 26 日
woodensail
2020 年 10 月 26 日
自己用 python 写的,逆向数据库生成从 moda-dtol-dao-service-controller 的全流程增删改查 java 代码。
EscYezi
2020 年 10 月 26 日
mybatis generator
yizmaoaa
2020 年 10 月 26 日
Kotlin Kapt 生成过类似 Record 的那种数据库操作的.....

Vert.x 项目的 CodeGen,Vert.x 的多语言都是使用 CodeGen 生成的 API 。。
monsterxx03
2020 年 10 月 26 日
用 yacc 做一个 sql 子集
eason1874
2020 年 10 月 26 日
好像只做过一些循环展开
lemonTreeTop
2020 年 10 月 26 日
用 ftl 算不算🤗
hccsoul
2020 年 10 月 26 日
人人开源
wysnylc
2020 年 10 月 26 日
idea get/set
wmhx
2020 年 10 月 26 日
我见过最早的代码生成器 rapid-framework , 已经是非常好用了, 只是有些时日不更新了, 作者也不知道干啥去了.
tikazyq
2020 年 10 月 26 日
crawlab 中的可配置爬虫就是用 golang 来生成的 scrapy 爬虫[doge]

其实吧,从广义来看,将高级语言编译成底层语言或机器码,也可以算做是 code generation 。在 js 中 code generation 多了去了,各种 ts 、vue 、jsx 转原生 js,现代前端基本就是建立在 code generation 上的。为什么会需要 code generation,因为需要抽象、复用、提升代码效率,KISS 原则是编写代码的基本要领。
iseki
2020 年 10 月 26 日
vert.x 自带的 Service codegen 有点简陋(?) 所以自己做了一个
momocraft
2020 年 10 月 26 日
protobuf/grpc
openapi
各种宏
isir1234
2020 年 10 月 26 日
魔改了一下 start.spring.io, 根据 sql 生成 domain, mapper, service, controller

http://start.jiangy.me/
Sapp
2020 年 10 月 26 日
根据接口文档自动生成 typescript 的 interface 和调接口的函数
ReinerShir
2020 年 10 月 26 日
同 2 楼,目前能想到自动生成的东西也就这些
qwerthhusn
2020 年 10 月 26 日
WSDL 生成 Stub
coderxy
2020 年 10 月 26 日
grpc 的 protoc-gen 插件
lawler
2020 年 10 月 26 日
说个认知。需要代码生成的系统(库),一定是不够抽象的系统(库)。
可生成,意味着可模板化 -> 可抽象 -> 可动态(配置)。

我有些自己的库,当要完成一些常用(常见)的功能时,直接调参数就能达到我想要的功能,不需要编程。
DoctorCat
2020 年 10 月 26 日
@woodensail 兄弟牛逼, 能否开源出来白嫖一下子?

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

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

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

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

© 2021 V2EX