The reasons for bugs generally fall into the following process categories:
· Short
or impossible deadlines //太短或者干脆就不可能的工期
· The "Code First, Think Later" approach //先编码,后考虑逻辑
· Misunderstood requirements //对于需求的误解
· Engineer ignorance or improper training // 工程师从来没有培训或者与当前项目无关培训
· Lack of commitment to quality //没有质量方面的问责机制
The workflow of fix bug:
Step 1: Duplicate the bug.
Bug最关键的是能够Repro,因为很多时候问题往往是跟机器以及用户环境相关的。
Step 2: Describe the bug.
问题最困难的不一定是在解决阶段,往往是在清晰描述的阶段。
Step 3: Always assume that the bug is yours.
一般情况下,很少会有问题是因为系统或者是编译器以及开发环境的问题。
Step 4: Divide and conquer.
分而治之,一步歩接近问题。
Step 5: Think creatively.
一步歩接近的同时 ,还要不停的根据情况变换思路。
Step 6: Utilize tools.
工具的使用就不用说了。
Step 7: Start heavy debugging.
最后万不得已,就开始疯狂的调试。
Step 8: Verify that the bug is fixed.
Bug修正之后的测试往往是非常重要的。
Step 9: Learn and share.
学习总结,并且和你的team member 分享此次调试的经验