【发布时间】:2009-12-04 16:03:36
【问题描述】:
假设您在对软件相当复杂的部分进行功能测试时发现了一个错误。 它可能源于数据库中的错误/意外数据、中间层代码或前端中的某些东西。
很好。我们都去过那里。
您有要编写和运行的单元测试、要插入的调试/记录语句、要编写和运行的 sql 语句、要使用 FireBug 检查的内容等等。
假设第一步是列出您想要调查的潜在原因。
现在你必须决定做事的顺序。
你:
- 根据直觉按顺序调查原因?
- 按从最快检查到最慢检查的顺序调查原因?
- 假设该错误是特定于该功能的,并从大多数特定于功能的代码到最少的特定于功能的代码进行调查?
- 假设是别人的错,并从最通用的代码到您的特定代码进行调查?
- 还有什么我没有提到的?
我感觉第一个策略是最常用的。也许只是因为我没有和很多初级开发人员一起工作,而更高级的开发人员往往有不错的直觉。或者也许我们只是认为我们有不错的直觉,但实际上应该使用更系统的方法。
有什么想法吗?
【问题讨论】:
-
6.谷歌寻找错误或在 stackoverflow 上发帖
-
一个想法 - 这应该是社区维基。
-
@01,我仍然不完全理解社区 wiki 问题的推理或好处,尽管在 meta 上阅读了它们。似乎我不是唯一一个对此功能感到困惑的人。但我想我会尝试(至少一次)看看会发生什么。
-
6.从最近更改的代码开始。
标签: debugging language-agnostic