硬件部:熊英
如何积累解决bug的经验?
遇到bug并解决了,详细把bug表现描述出来,并把解决经过写出来,做成笔记,就算以后不翻看,这样至少会加深你对类似bug的印象,下回就会知道类似的问题如何解决;
程序执行缓慢,首先应该检查数据结构是否合理,然后检查遍历这个数据结构的遍历语句是否写复杂了,能不能把遍历降低;
遇到bug可以与周围的同事或朋友进行探讨,别人的思路可能会给你帮助,也可能别人曾经遇到过类似的问题。
个人的一些bug解决经验以及测试方面的分析:
1、输入的内容,是否有最短或最长数据限制;
2、可能会产生多个数据的,尽量试试非常多的数据进行测试;
3、写遍历的时候,特别是多重遍历,考虑是否会产生无限的遍历计算(非常大的计算量);
4、更改了程序之后,尽量考虑周到有哪些地方会受到影响,最好是在写注释的时候注明有哪些地方会产生,调用数据操作的时候一定要验明权限,验证当前用户是否有权限做修改,包括当前数据是否属于当前用户等;
5、对一个数据操作之前,不要凭着想法,觉得是对的,一定要用程序验明是否存在,并对验明的结果进行用户提示或者是报错处理;
6、浮点数的计算丢失精度的问题,这个做稍微复杂的项目会遇到,此处把参加计算的数据都进行浮点型格式化并把得到的结果按需求四舍五入或其他方式取值,这种做法一般不会造成精度丢失;
7、两个数参与除法运算,必须检查除数是否会存在为0的情况,虽然这个除数不能为0是小学的知识点,但是开发过程中可能会漏掉监测,造成程序运算错误。
8、如果被调用的函数有返回值,要对返回值进行判断。避免不必要的返回值。
9、如果返回值可能正确也可能错误,一定要对其进行差错检查。