感:自久前,写完一套如何简化git、pod等复杂流程的桌面级自动化系统后,有时在思考如何按照公司、部门要求的框架、准则去自动生成标准模块代码。
勿以善小而不为 - 自动化工作需要积累,一切为了可以把更多精力放在业务开发上。
程序猿应该比较懒,懒得去写重复代码;
程序猿应该有点洁癖,想把代码统一标准化;
所以它们驱动我,完成了这个自动化生成模块代码的小项目,我相信它会对团队的项目带来很大的便利、质量提高。
依赖于各地的coder们,我们抽象、整合了很多的基础业务、基础功能,做成开源的pod、git。
但是,项目中,对公司内部业务的开发,我们要做到模块化,就会有模块的标准架构设计,如:MVVM、VIPER等,还有一些标配功能,如:国际化、scheme通讯、可配置能力等,所有的这些,存在着相同的框框和可变的填充内容,所以是完全可以实现自动化、标准化量产代码。
如何生成代码?
1、设计一套数据模型,读取模型配置文件,来转化成iOS代码,我刚开始想到的是利用Ruby的特性,来实现这个功能;也想到了使用swift做mac app,来实现可视化操作。
2、一套标准的模块的代码(其包括了标准的设计模式、标配功能等),唯一要改的是修改模块名字,这个就相对简单了,逐文件夹、文件名、文件内容去修改模块名字,而且模板可以随时间去完善,也可以有多套模板。
我选择了方案2,且已经实现,模板、自动化程序脚本都提交到工程项目源码中,只需要一个简单的命令:irb autoCode.rb [moduleName],例如我要创建Login、Main、UserPage等模块,
`irb autoCode.rb Login`
`irb autoCode.rb Main`
会自动在项目中构建出相应模块和代码。
如何自动添加到iOS工程中引用?
·使用Cocoapods提供的开源库:CocoaPods-xcodeproj,但我未实现,主要难点在group、file的引用要递归去添加到projcet中。
看了<毛泽东传>后,最近在看<周恩来传>,哈!
洗洗睡了,拜~~