浅谈代码自动构建工具

一些小想法:

新加入到一家公司,继续我的棋牌游戏开发生涯。该公司和大多数公司一样,大力发展地方棋牌。

地方棋牌开发的要求就是:快、准、狠!

怎么做到这些要求呢?我的想法就是用工具解放劳动力!

换句话,就是用脚本替我们做烦琐无聊的重复工作!

目前的现状:

一个APP新加一个地方的玩法,需要复制之前的代码,然后用新玩法的名称把模板玩法的名称替换掉,文件内部的接口名字也用新玩法名称替换掉。

同理,也是我最想吐槽的地方的是,有一个配置文件,需要找到对应的位置,把新加的玩法文件注册进去!

新加一个玩法还好,让你十个,二十个,一直在做这些重复的工作,不仅浪费了时间,而且自身能力并得不到什么提高!

于是,我产生了自己做工具的念头。有兴趣的话,就接着往下看。

工具的架构:

听说python是全世界最好的语言呐!它虽然是脚本,但是操作文件,是最方便的,于是选用了它!

听说batch批处理也蛮不错,双击就可以在Windows上奔跑起来,易于操作,于是选用了它!

好了,不吹比了,整体思路是这样:

与用户直接接触的是批处理bat文件,运行可以配置游戏的一些必要参数,复制模板代码,给文件重命名,为后面的重头戏python文件做铺垫。

重要的代码都写在python文件中,主要是操作文件,寻找到对应文件内部的对应位置,自动化添加相应的代码。

批处理调用py文件,并传值给py文件

build.bat:根据三个py文件所需要的参数提示用户输入,并进行检测输入内容,根据玩法名称复制模板文件并重命名,调用py文件(批处理中可直接使用python命令调用py文件)

fileSetConfig.py:对复制过来的玩法模板文件内部代码接口进行命名替换(gameName替换gameModel)

logicConfig.py:根据正则表达式搜索注册文件logic.js文件内部的相关玩法名称,玩法图标,玩法音效,玩法背景,玩法帮助等信息,添加到对应位置。

otherConfig.py:搜索对应的位置,在NetCallBack.js和CreateNodePanel.js文件中添加新玩法的信息,是新玩法的文件与框架建立联系。

基本的框架基本就是这么一个样子,具体的内容涉及到公司内部框架,有兴趣的同学可以私信或者留言,我们可以交流,共同提高!

原文地址:https://www.cnblogs.com/mikeCao/p/8874924.html