修改代码要注意的地方
1、虚函数改名,要记得把所有模块的覆盖函数都改名
2、发现重复代码不一定要重构,但是至少要注释“这有重复代码,有空要改”,这是最低限度,否则没资格做程序!
3、格式缩进式最基础的排版素质,如果连缩排版的时间都没有,说明工作安排有问题,公司一年内就要倒闭,立刻辞职!
收到BUG消除情绪:
1、讨厌:根源,人之常情。对策,职业如此,必须突破自己!
2、愤怒:根源,原有工作计划被打乱、原有压力增大。对策,坚决不骂人,暂时记录下来,暂不解决!
3、否认:根源,要面子。对策,突破自己,绝不否认,暂时记录下来,暂不解决!
4、惊讶:根源,自己的能力受到怀疑,信心动摇。对策,接受现实,自己是个白痴!
5、失落:根源,努力那么久,水平仍然很低。对策,总结原因,记录这是重复的第几个错误!
6、绝望:根源,太累,受不了了,不想干程序了。对策,立刻关电脑,不要和任何人说话,去安静的地方!
收到BUG时正常动作:
1、道歉:想测试人员和用户道歉,因为错误存在(不管是否自己造成)
2、感谢:别人帮我找到BUG,节约了我的时间,时间就是金钱和生命,感谢别人给我金钱和生命
3、记录:只把BUG详细记录在BUG跟踪系统中,然后继续做原来的工作,把BUG对原有计划的影响减小
4、计划:找固定的时间安排解决BUG的计划。
出版本注意:
1、没测试绝对不出版本,宁愿丢掉工作也不能把每测试的文件发出去,RELEASE版本也要测试;
2、没用肉眼仔细检查过这次修改差异的代码坚决不能提交,仔细检查,别走过场;如果有其他的事情,或心情不好,就放着,宁愿不提交;
程序员各方面擅长的技能不同:
1、重现BUG
2、调试跟踪BUG,定位错误代码
3、修正BUG
4、设计实现方案
5、实现设计方案
6、消除重复代码
7、检查代码
8、修改检查出的代码错误
9、破解二进制文件格式,反汇编
10、编制程序结构、流程文档和配置使用文档
11、与其他部门沟通
一个人无法擅长上面的所有方面,但是必须擅长其中的某几个方案
也不要因为一个人在某几个方面有缺陷而否定其他方面的能力。
程序员擅长各方面的典型冲突:
1、善于重现BUG的人,其他方面能力较差,因为重现BUG需要没有任何假设,其他能力提升后,头脑中潜在的假设就增多了;
2、善于跟踪调试BUG,定位错误代码的人,修复代码的能力较差,因为修复代码二不引入新错误需要彻底了解整个逻辑,二定位错误代码需要深入BUG附近的末端细节;
3、破解二进制文件格式、数据包,反汇编能力强的人,编写普通的C++实现代码的能力较差,可以说是重复代码和奇异垃圾代码的汇集;
4、善于与其他部门沟通、善于编写修改配置使用文档、善于理解策划案的人,其他技术能力较差,因为与人打交道余姚猜测和体会,但是程序没有任何感情,他们对程序运行原理和结果的猜测和真相相差十万八千里。
5、有一种程序员掌握最新技术的能力特别强,不长的时间久几乎掌握了所有的程序技术,他立刻成为同事眼中的高手,他了解各种不相关的领域的技术:视频、桌面、网络、嵌入式、语音、人工智能、黑客、3D、通信、WEB、多种语言。但是这样的人被过早重用后难以带领团队开发稳定的中型系统,他们对细节过于关注,不重视精通一个领域以及普遍的程序开发方法的知识。