流程小变化,想出了一个新的促销方案,如何方便快速的集成进来。
一些原来没想到的例外,原来用户名规范不严谨,被人注册了一些不雅的用户名。
接入更多的系统和平台,要求添加一个新的付款方式,新的登录方式。
还有一些原来开发不规范,没注意的小bug,操作上千次才有可能出现一次的例外没办法处理之类的。
写程序不难,写无bug的程序很难。
一个商用的软件,常常会因为用户需求的变化而变化,在这个过程中会不断的引进bug,然后程序员的任务就是不断的消除bug。
一个好的软件不是一写好就完事了,是一个动态变化的系统。
首先想一下伪码会像这样的形式吧
1.缓存尾元素
2.删除尾元素
3.返回尾元素如果在1发生了异常,可以通过重新调用来恢复,而且标准库保证STL对象会被正确的销毁,如果在2发生了异常,有可能元素只删除了一半(当然了,一般destructor不抛异常)如果真抛了,就就很难从异常中恢复,因为数据已经丢失了。
(一般删除元素不会是简单的--size,因为如果对象里保存的是指针,资源不会释放,会有内存泄漏)但这可以通过良好的结构避免。
在返回时会调用对象的拷贝构造函数,如果这时发生了异常,就真的万劫不复了,因为对象已经被删除了,并且无法恢复。
1.和队友的配合出现问题。
在团体游戏中,如果和队友配合不够默契就会导致战绩不佳,从而使玩家认为自己玩的英雄没有以前厉害;
新英雄的技能可能会被用来专门克制某个或者某一类英雄,从而使玩家战绩不佳;
3.游戏升级后对英雄进行削弱。
在游戏中有的英雄战斗力过于强大,出于游戏对战的平衡性和可玩性,游戏厂商会对一些英雄进行削弱,导致英雄战斗力降低。