【平台开发】技术整合思考(五)代码生成代码

简介: 【平台开发】技术整合思考(五)代码生成代码

一、背景


首先简要介绍写反射技术(reflect)。


反射技术(reflect)是一种能够在程序运行时动态访问、修改某个类中任意属性(状态)和方法(行为)的机制。它可以完成以下几个功能:在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;在运行时判断任意一个类所具有的成员变量和方法;在运行时调用任意一个对象的方法

七镜在开发语言的深度理解上其实并没有多深入,知道写技术框架的那些大神,经常会使用反射技术(reflect)来复用一些逻辑代码,实现高度的可复用性。


对反射技术理解的不深入的前提下,有没有其他办法来来编写框架呢?有的,有个简单好理解的路子:代码生成代码




二、以七镜的博客平台服务端里常见的增删改查为例,代码生成代码的步骤如下:


  1. 正常实现业务逻辑:包含实体结构体名、数据库访问代码、graphql schema定义、graphql endpoint定义等等。
  2. 从大量的重复代码中,找到复用点:结构体名。通常一个实体A的结构体名,对应一串A的增删改查代码,将实体A的增删改查代码里的结构体名A修改成另一个结构体名B之后,就变成了实体B对应的一串增删改查代码了。
  3. 编写生成代码的代码。根据第2步里的复用点,将实体A的代码文件(比如user.go)读取成字符串,将字符串里的结构体名A,替换成结构体名B,保存到实体B的代码文件(比如comment.go)中即可。
目录
相关文章
|
4月前
|
人工智能 程序员 API
代码生成工具:提升开发效率的利器
随着技术的不断进步,以及在AI浪潮的推动下,代码生成工具逐渐成为开发者们提高效率的得力助手,代码生成工具在现代软件开发中扮演着越来越重要的角色。作为程序开发者,我觉得代码生成工具不是程序员的所有,但是它可以是程序员在开发中的“左膀右臂”,代码生成工具更多的是帮助开发者提高在日常开发中的效率。那么本文就来分享一下关于代码生成工具在开发过程中的应用情况,并对这一领域的未来发展提出些许期待和诉求。
93 7
代码生成工具:提升开发效率的利器
|
前端开发 Java 数据库连接
ZeusAutoCode代码生成工具(开源)(上)
ZeusAutoCode代码生成工具(开源)(上)
292 0
|
监控 前端开发 数据库连接
ZeusAutoCode代码生成工具(开源)(下)
ZeusAutoCode代码生成工具(开源)(下)
172 0
|
小程序 开发者
利用无代码工具开发一款小程序(一)
利用无代码工具开发一款小程序(一)
|
小程序 容器
利用无代码工具开发一款小程序(二)
利用无代码工具开发一款小程序(二)
|
测试技术 Python
曲鸟全栈UI自动化教学(八):框架代码讲解和进一步优化
曲鸟全栈UI自动化教学(八):框架代码讲解和进一步优化
648 0
曲鸟全栈UI自动化教学(八):框架代码讲解和进一步优化
|
SQL JSON 前端开发
|
SQL 缓存 监控
从零开始打造一个模块化无代码开发平台
从零开始打造一个模块化无代码开发平台
291 0
从零开始打造一个模块化无代码开发平台
|
机器学习/深度学习 自然语言处理 前端开发
《前端智能化实践》——逻辑代码生成
阿里巴巴高级前端技术专家甄子带来“《前端智能化实践》——逻辑代码生成”为题的演讲。前端智能领域到底该如何落地人工智能技术呢?本文从UICode到LogicCode有多远开始谈起,接着从页面结构和数据结构的视角分析,进而讲述了开发者赋予的自定义能力,最后对前端智能化的未来进行了展望。
《前端智能化实践》——逻辑代码生成
|
前端开发 .NET 程序员