#第10章.调试
##【开发期】
- 使用Assert(断言)令程序崩溃以提前发现错误;对断言分级,并可选择关掉部分非常影响效率的部分;
- 将释放的指针置为空,空指针更容易把错误表现出来;
- 加入录像模块(记录输入数据到文件中),出错时便于重现;
- 使用分级log日志,并跟踪代码运行流程,便于定位。
##【已发行】
- 打开可以打开的Assert;
- 使用第三方调试器。
#第13章.开发方法
##【失败经验】
- 过多的工作压在同一人身上;
- 过分的弹性工作制(弹性不代表无计划);
- 没玩没了的变化,没完没了的返工;
- 没有及时的测试,如果Bug太多,不如推倒重来做更好的设计;
- 项目主导严重偏向某个职位(市场策划程序美术应多沟通,共同努力)。
##【成功经验】 - 引擎和实现分离(客户端应分出一人独立负责图像底层;服务端应一人独立负责网络和序列化,而不去管任何的游戏逻辑);
- 结对编程-有经验水准差不多的两人(一台电脑,周期性打乱配对互换位置,提高效率提升能力,每天6小时即可);
- 随时方便的测试,不要吝啬为实现写测试代码;应自动化,可录像回放。
- 尽早发现结构上的问题并及早重构;若发现太晚,及时冻结新功能加入,裁剪内容,保证现有东西不出错;
- 必须使用SVN/Git进行版本控制,并分为Realse/Dev两个分支;<