三月初转正后开始接手公司内的一个有关流媒体收录系统服务器方面的项目,和部门老哥,产品,测试,运维,前端交流,对需求,看bug,学习到了很多编程之外的技能,写篇文章记录下来。
接手新项目
- 把完整的接口说明文档,配置文件拿到手,大致先过一遍
- 学会打断点,代码不是文章,不能从头读到尾,除非是一个文件只有一个
main
函数从头跟到尾 - 有不懂就赶紧问,时间不等人!
- 大部分时间都是把逻辑理清楚,代码只是分分钟的事情。
与产品沟通
- 大部分产品是不写代码的,所以不要和他/她扯到程序内部的实现上,否则他/她会很懵逼
- 遇到需求完成不了或觉得有问题,应尽早提出来
与其他部门的沟通
- 其实在做编码设计的时候,我的时间不是整块的,有时候会被测试,运维临时打断去处理bug
- 学会把时间整片化,例如25-30分钟做一件事情,如果中间被要求去解决
bug
,咨询他能否等10分钟 - 每次解决完一个
bug
,把问题和解决过程描述清楚,记录在wiki
上,方便自己和其他相关人员以后查看 - 学会看日志,通过日志分析问题的所在
排查bug的基本流程
当运维、测试那里出现问题需要你来解决时,解决流程是这样的:
- 先看配置文件是否正确,也许是模式
model
选错,也许是路径没有配置正确; - 再看日志记录;(所以前提是自己要在关键模块打详细日志描述,方便排查问题)
- 然后再看版本号是否正确;
- 最后再将问题在本机复现,用
dlv
或gdb
打断点调试找出问题; - 当问题解决后,一定记得在
wiki
里做好相应的记录,原因有二,帮助自己整理和回顾项目中的业务流程,当另外的运维或测试碰到类似的问题时,直接让它看wiki
记录就可以,自己可以专心干其他的事情。
加油!这将是我正式开发和维护的第一个Golang
语言的项目!