eeratgdstge

来源:互联网 发布:C语言中种子随机数语句 编辑:程序博客网 时间:2024/05/08 14:31
这个月总结的问题如下:
1.临近上线,我总是害怕策划改动需求。
如果我做完功能以后,就在思考,策划之后会怎么改,这样改之后,我该怎么做,在改动的时候我应该注意什么问题,会引起哪些风险,怎样避免风险,那么策划改动需求风险还会有那么大吗?
如果我写的代码都能够做好代码注释,改动代码的风险还会有那么大吗?
我总是在找借口,每次做完功能以后,就玩傲视,一玩起来,就上瘾,一个下午就过去了。为什么不在这个时候给自己的代码做代码审查呢?


2.还有就是集市里面本来发给玩家的是一星的宝石,但是实际发给玩家的是两星。
bug产生原因:在到达一定等级后,策划将成就的倍数由1.5改为2.代码里面宝石的星级是倍数,1,5取整还是1没有问题,当为2的时候星级变为2,出bug了。
虽然这段代码不是我写的,但是我看过这段代码,调试过这段代码,也测试过这个功能,如果我测试的时候不仅看宝石数量的数值,而是看log,看数据库 ,这个bug就不会出现。 如果我养成了看log的好习惯,那么这个bug也是不会出现的。如果我在看代码的时候带着怀疑的眼光去看代码,而不是只是看看,那么这个bug也是可以避免的。傲视的很多上线很久的功能模块也是有bug的,只是没有显现出来,某一天策划改动需求的时候,就会爆发出来。


3.替换新商人的时候把旧商人的拜访状态清掉。
这个产生的问题是玩家之前花的行动力和金币就白花了。
  开发的时候我是想到这个问题,我当时的做法是寻求测试的建议,测试的建议是清掉就清掉,无所谓。于是,我就这样做了。但是,仔细审思自己,自己为什么没有自己的主见,为什么没有自己的思想,究竟是自己不想担责任,还是说避免争执。开发游戏的时候,最优先考虑的就是如何避免玩家的损失和玩家获得不该有的资源。所以自己以后还是应该勇于担负责任,该有争执的时候还是要有争执,产品的质量是最重要的。


4.师徒拜访的时候,师傅驱逐徒弟以后就没法拜师了。
这个bug就在于前人判断map集合是否有元素的时候,只判断不为空,正确的做法是判断不为空&&size()不为0。此外,我在改这个模块的时候没有注意到这个地方,测试的时候也漏掉了这个case。我一直信奉测试驱动开发,优秀的程序员都是先写case后写代码,可是我为什么没有写case,难道是自己没时间吗,case在走路的时候可以想,睡觉之前也可以想,所以并不是没有时间,而是自己没有这个决心去写,没有养成良好的开发习惯。
还有一个原因就是没有勇气去对前人的代码更改,总觉得前人的代码经过这么长时间的线上考验,应该是没有问题的,但是事实不是如此。




1.要做好单元测试,一个方法必须测试ok了才能继续写代码,而不是把整个模块都写好了,再去测。
2.养成良好的看日志的习惯。
3.先写case后写代码。
4,不要依赖测试。必须尽自己最大的努力保证交到测试手上的代码是没有bug的。虽然没有bug是不可能的,但是我可以将bug发生的概率从10%降到1%,从1%降到0.1%.不要干等着bug出现,而是积极去寻找bug。你去不找bug,bug就会来找你。


我一直在想怎么样才能够避免bug的发生,同时最担心的也是bug的发生。虽然自己不能做到让bug绝对不发生,但是自己仍然可以努力将bug的发生概率降到最低。
1.首先在看策划案的时候,就必须和策划详细讨论策划案的细节,这个时候策划可能正在忙别的事情,可能会不耐烦,但是自己还是应该不厌其烦的问。与之相反的一种情况是策划告诉了我细节,而且还会告诉我实现的步骤,这个时候就应该避免走进误区,因为策划很可能会误导我的思维,照着策划说的步骤去写代码,肯定是有bug的。此外,还要想一想,哪些情况是策划没有考虑到的,哪些照着策划说的去做会产生bug,策划方案是不是合理,毕竟有时候策划的方案也是有问题的。
2.在设计程序的时候,就应该想到按照当前的策划方案实现,最危险的是什么,在什么地方会产生损失玩家的利益,在什么地方会让玩家得到不该得到的资源。比如给玩家发放资源的时候就应该特别注意。还有如果策划之后该需求,又会产生什么风险,该怎么规避。
3.自己就是自己的测试。将测试引入开发的整个过程,写代码之前必须写case,写代码过程中,写了一个方法,就必须对这个方法进行测试ok了,才能调用这个方法
4.变量的命名。多花些时间在命名上面,如何取一个名字,自己不会错误的调用,不需要多么优美,至少要有唯一性。
5.写完一个接口,就必须对着case做测试,然后再写下一个接口。而不是写完所有的接口再来测。
6.开发完成,先测优先级高的case,提交测试。然后把所有case测一遍。
7.测试的过程中,必须看游戏界面,数据库,log三种情况的结果,进行对比。
8.开发完成,代码审查,加上注释。
9.前端完成,更新前端,在界面测试。
10.想一想策划会怎么改,如果产生bug,最严重的bug是什么,次严重的bug是什么。
11.游戏上线,自己首先体验游戏,多关注论坛,看看玩家的反馈。



0 0