更好地调试

“每个人都知道调试的难度是编写程序的两倍。 因此,如果您在编写代码时尽可能聪明,那么将如何调试它?” — Kernighan和Plauger,《编程风格的元素》

在阅读极其有趣的《调试思想集》时,我学到了很多有趣的观点。 尽管本文主要侧重于提高调试水平,但许多文章通常可以应用于学习

2自我理论

根据动机领域的研究者德韦克(Dweck)的说法,个人要么是实体理论家,要么是增量理论家。 这是一个频谱,因人而异,取决于领域。

简而言之,实体理论家将智力或技能视为人才,而渐进理论家则认为他们可以通过努力学习。

这不仅对调试非常重要,而且对几乎每个生活领域都非常重要。 如果您按照循序渐进的思维方式继续前进,您将会学到很多东西。 实际上,研究证明,与具有实体理论的高成就学生相比,具有可塑心态的成就欠佳的学生表现更好。

学习方法

  1. 主动召回 :当您想到问题时,请勿直接阅读手册。 猜测一下,然后看一下研究。
  2. 分段学习 :休息一下,切换任务。 不要整夜追踪单个错误(我的观点:根本不在办公室过夜)
  3. 坚持不懈 :细分不应意味着放弃。 您需要继续工作和练习。
  4. 好奇 :对新想法,解决方案和思维方法开放态度

通用调试方法

遵循科学的方法:

  1. 发展问题的一般理论
  2. 提出导致假设的问题
  3. 形成假设
  4. 根据假设收集测试数据
  5. 重复

形成假设非常困难,做到这一点时不要仅仅依靠直觉!

如果您喜欢此摘要,请阅读全文。 有关更多摘要,文章和有趣的花絮,请在Twitter上关注我。

这篇文章首先出现在我的博客上:更好地进行调试