iOS开发代码生成器制作以及后续的感想

  最近时间稍微空闲下来,思考开发一个代码生成器的辅助工具,来提高开发效率

目标

  通过swagger网站的一个接口文档地址,自动生成wa网络请求返回的数据模型类,网络请求相关的代码。

实现思路

1,通过python抓取接口文档的数据,进行整理分类
  • 请求api
  • 请求方法
  • 请求序列化方式
  • 请求公参
  • 请求参数
  • 响应序列化格式
  • 响应数据
  • 各种注释
2,生成响应的数据模型
  • 根据规则生成模型类名字
  • 检查项目中是否已经存在,存在使用备用方案
  • 根据类型,字段名字生成属性名,注释会自动带上
  • 能够区分容器类型,并进行处理
  • 系统关键字字段,能够根据规则加前缀(比如:id)
  • 字段变更能够有对应的处理方案(后期完善)
3,生成请求类
  • 根据规则生成类名
  • 检查项目中类名是否已经存在,存在使用备用方案
  • 根据抓取数据生成请求参数,类型,注释等
  • 添加api
  • 添加请求方法
  • 添加请求序列方法
  • 添加返回序列方法(暂不处理)
  • 添加请求参数
  • 添加返回参数的解析处理
4,将生成的文件添加xcode的文件引用
5, 制作可视化软件,将脚本串联起来

结果

原来一个复杂的接口处理完模型生成解析、添加注释、网络请求相关的代码至少需要一个小时,使用了代码生成器后只需要只需要几分钟就可以搞定了。

感想

  如果能力尽可能扩展代码生成器的使用场景的话,那么也会进一步提高开发效率。结合人工智能的识图功能(备注:识别各种Ui元素,比如按钮,标签等),再根据这些识别出来的数据来自动生成代码会进一步提高开发者的效率。我这边整理脑图如下:
在这里插入图片描述
大家对于代码生成器感兴趣的话,可以留言或者私信我一块交流哦
#点击链接观注公众号#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值