zoukankan      html  css  js  c++  java
  • 浅谈代码自动构建工具

    一些小想法:

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

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

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

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

    目前的现状:

    一个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文件中添加新玩法的信息,是新玩法的文件与框架建立联系。

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

  • 相关阅读:
    Python日志采集(详细)
    Python+Appium自动化测试(15)-使用Android模拟器(详细)
    Python+Appium自动化测试(14)-yaml配置Desired capabilities
    Python基础笔记2-ruamel.yaml读写yaml文件
    LoaRunner性能测试系统学习教程:SQL Server等待类型
    LoaRunner性能测试系统学习教程:CPU瓶颈
    LoaRunner性能测试系统学习教程:SQL监控与调优
    LoaRunner性能测试系统学习教程:垃圾回收器(12)
    LoaRunner性能测试系统学习教程:垃圾收集算法(11)
    LoadRunner性能测试系统学习教程:GC回收机制(10)
  • 原文地址:https://www.cnblogs.com/mikeCao/p/8874924.html
Copyright © 2011-2022 走看看