我不是整个游戏的设计者,而是后来的维护者。基本工做就是开发新功能,解决老bug。那三年的时间是怎么过来的呢?数据库
1.首先要熟悉服务器架构,看了好几个月的库代码,能了解协议是怎么产生,接收,转发,执行。是单线程仍是多线程。数据库是怎么存储的,怎么加锁,怎么实现事务的。非阻塞IO,epoll来提升接收效率。安全
2.从简到深的逻辑功能实现。包括协议的设计,是否须要存储,协议超时是否重传及各类错误的考虑。服务器
3.bug的找寻。首先要了解功能的实现逻辑,gdb调试,加猜测推理,帮助快速定位bug。经验丰富了之后,一眼就能猜个大概。多线程
4.代码的重构。本身写过的逻辑,或者本身熟悉的逻辑,看着不顺眼的小改,影响效率的大改。改动后本身多测试。秉承不要为了重构而重构的理念,我都是再有新功能开发交集是大笔重构。架构
5.多线程开发,重要考虑加锁的问题,好的机构设计须要加锁的地方不多。但也有架构搞不定的,只能尝试加锁,这要求对同步,线程安全,有必定理解,哪些必须加,哪些能够不加。工具
6.脚本语言学习,和小工具开发。解决统计或突发bug学习
7.熟悉几款不一样类型的游戏,有助于你的创新和优化。测试
8.融汇贯通优化
9.保持学习线程