1.概述
- 目前项目处于预上线状态,基本处于尾声
- 耗时25天;前期每周都有写博客,本周主要处理小游戏模块跟App端联调(因为时异地联调,相对耗时)、bug修复以及添加一些新功能和小优化
2.各阶段总结
2.1 App联调阶段
- 沟通清楚很重要。由于涉及JS与原生端交互,中间出现交互逻辑没沟通清楚,这个东西并不复杂,只是由于本身思维定势,一直以为是由原生App端处理,因为App端知道一切,导致并没有添加足够代码,使得联调到第二天才通;
- 图片中文名问题。项目在最开始阶段使用的素材直接用了UI切的中文图,基本所有素材都是中文名,导致放在App中直接黑屏,把所有图片改一遍,又删除重复图片
- 工程配置问题。项目涉及3个工程,光各项目权限都开通了2小时,涉及到上海那边处理;配好项目,更新一次pod又1个多小时过去了;修bug时还要先在js工程里先联自己搭的服务器测下,然后再打好包放到App中运行,联线上服务器跑一下;在周三时写了个编译脚本,打包以及替换文件轻松多了
2.2 bug修复阶段
统计禅道中大概有37个bug,其中属于我的有25个
花费了3天时间,如果能缩短为1天-1.5天就好了,因为毕竟之前都已经自测过
- 部分UI不能点击。在模拟器上ok,在App上就出了问题,纠结了好一会儿,原来是因为定义事件造成,使用了鼠标事件,在App端是没有鼠标点击的
- UI效果。中间改了几个需求,添加背景音乐、添加一些道具效果;特别是UI的需求,这部分代码不是我写的,并不熟悉,要先看懂才知道咋改;有时候出现异常效果,很费劲
- 超时优化。测试报告游戏中超时较多,在上报请求处加了超时处理,默认为20s,由于逻辑不严谨出现,答题过程中超时问题;
- 逻辑处理。本身游戏逻辑并不复杂,大部分bug都可以很快找到问题原因,并修复;个别bug修复时间较长,出现过在iOS以及浏览器上正常,但在安卓上有问题的情况,很诡异,猜测一些逻辑语句在安卓端JS环境执行有问题,换了一种写法,解决了问题;
2.3 添加需求
虽然加需求都不大,但是改动并不小,要看一部分别人写的代码,没有注释的话看起来是比较费劲的
3. 经验
- 专注改bug。当这边在改bug,那边测试在群里@ni,一会儿产品@你,服务端@你,搞得会很狼狈,情绪一失控,bug就不好改了;别不好意思,改bug时其他人统统回避
- 思路。想好怎么处理一直都很重要,这次还是出现几个bug修复两三次的问题,想清楚、描述明白再改起
- 思维定势。跟第二条类似,这里是想表达,不要想当然处理问题,比如奇葩的点击事件不响应,其实只是事件类型,如果能快速熟悉一下API,可能能很快解决。
- 学习能力。这方面自己做的是不错的,快速学到需要的语法,达到会用、能实现功能,过后再去看原理、优化等深度问题。