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

Posted JackLee18

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发代码生成器制作以及后续的感想相关的知识,希望对你有一定的参考价值。

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

目标

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

实现思路

1,通过python抓取接口文档的数据,进行整理分类

  • 请求api
  • 请求方法
  • 请求序列化方式
  • 请求公参
  • 请求参数
  • 响应序列化格式
  • 响应数据
  • 各种注释

2,生成响应的数据模型

  • 根据规则生成模型类名字
  • 检查项目中是否已经存在,存在使用备用方案
  • 根据类型,字段名字生成属性名,注释会自动带上
  • 能够区分容器类型,并进行处理
  • 系统关键字字段,能够根据规则加前缀(比如:id)
  • 字段变更能够有对应的处理方案(后期完善)

3,生成请求类

  • 根据规则生成类名
  • 检查项目中类名是否已经存在,存在使用备用方案
  • 根据抓取数据生成请求参数,类型,注释等
  • 添加api
  • 添加请求方法
  • 添加请求序列方法
  • 添加返回序列方法(暂不处理)
  • 添加请求参数
  • 添加返回参数的解析处理

4,将生成的文件添加xcode的文件引用

5, 制作可视化软件,将脚本串联起来

结果

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

感想

  如果能力尽可能扩展代码生成器的使用场景的话,那么也会进一步提高开发效率。结合人工智能的识图功能(备注:识别各种Ui元素,比如按钮,标签等),再根据这些识别出来的数据来自动生成代码会进一步提高开发者的效率。我这边整理脑图如下:

大家对于代码生成器感兴趣的话,可以留言或者私信我一块交流哦
#点击链接观注公众号#

以上是关于iOS开发代码生成器制作以及后续的感想的主要内容,如果未能解决你的问题,请参考以下文章

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

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

关于写了6小时代码的感想

这几年开发的感想

NewView在线面试网站开发感想

SwiftUI初感悟与感想