在调试时,您如何估计是否应该重写或继续查看?

时间:2011-08-11 16:12:59

标签: debugging

你们都遇到了这种情况。我是第一次使用新算法,我正坐在我的电脑上试图找出是否存在语法问题,或者我是否误解了算法。在这样的场景中,我会更快地重写程序,而不是花时间盯着屏幕。但这提出了一个普遍的问题,我很想听到比我更有经验的程序员:

您如何判断何时是重写的正确时间,或者您是否应继续坐在那里盯着您的代码寻找错误?

专业程序员使用的是否有任何有用的启发式方法?

3 个答案:

答案 0 :(得分:1)

这是一个非常困难的问题,实际上取决于你的情况。

通常,有两种情况:

  • 算法很简单,你会发现bug很快。除非您想对其进行优化,否则通常不需要重写。
  • 算法非常复杂:很难找到错误。但是重写可能很困难,因为你可能会错过算法的一些微妙特征。风险是有一个新的算法,但有新的错误!

我认为这个问题没有一个干净的答案。我会说找到错误比重写所有错误更好。当您需要优化或清理代码时,重写是必要的(不是因为您没有找到错误)。

那是我的两分钱。

答案 1 :(得分:1)

这对我来说听起来不对。只要您不理解(必需的)算法,就不应该编写代码。这就是所谓的反复试验,并且是一种非常可靠的方式来结束糟糕的错误代码。在行动之前先想想。

作为思考的食物有点挑衅性的陈述:

  

编写代码是最后要做的事情。作为一名程序员可能听起来像   你应该输入很多但实际上如果我算了多少个字符   一个普通的程序员每天都会提交并要求一些秘书打字   他/她在30分钟内完成相同的金额。

答案 2 :(得分:0)

你永远不应该重写已经经历过不止一次测试的东西。理论是,如果你经历过至少一次,你已经解决了错误。尝试重新创建这些已解决的错误的最终结果非常困难。乔尔有一篇非常好的文章,我倾向于同意,即使我已经处于你的位置,我倾向于把它扔掉并重写它。

http://www.joelonsoftware.com/articles/fog0000000069.html

相关问题