初学者的五种简单调试规则



摘自翻译: George Alan Hamel在他的文章中分享了他自己的经验,并讨论了在调试过程中开发人员应指导的内容。

开发人员的现代工具非常广泛,因此有很多选择-调试工具。 其中许多是自动化的,但是不幸的是,通过重力开始调试将不起作用-仍然有很多手动工作。 有时似乎问题根本不应该,不可能,一切都应该起作用。 但是不起作用。 为了不浪费额外的神经细胞和时间,我为自己想出了一些简单的调试规则,我可以使用它。 我认为有人可能会发现他们有争议。 不过,他们帮助了我。

Skillbox建议: “ Mobile Developer PRO”
我们提醒您: 对于所有“ Habr”读者来说,使用“ Habr”促销代码注册任何Skillbox课程时均可享受10,000卢布的折扣。

规则1.总有一个原因


尽管有诸如“这是不可能的”,“它不应该那样工作”,“这种代码没有理由不工作”的陈述。

始终有一个原因,无论是工作代码错误还是编译错误。 总是 即使检查员说一切都很好。 有时,我们过于沉浸于代码中,从而失去了全局。 大多数常规或Web应用程序都很复杂。 所有这些都包含许多元素。 有时太多了,因此我们可能会犯一个错误而忘记或不注意到它。

退后一步,深呼吸。 然后再看一下代码。 不要仅仅依靠工具。 使用大脑和逻辑。 考虑一下您正在处理的当前项目如何影响其他所有方面。 在大多数情况下,该错误属于PMSIS类(问题出在椅子和桌子之间)。

而且出于天国的缘故,当您更正某些内容时,请勿立即更正十种潜在的错误。 否则,您会感到困惑,很难找到真正的错误。 调试有时需要一点耐心:逐步进行一些小的更改。 像手术刀一样有条不紊,准确,而不是a弹枪。

规则2. RTFM和WTFV


大多数开发人员都是聪明人。 有时甚至太聪明,以至于损害了自己。 我们所有人都认为我们不需要基础教程,因为您可以立即开始学习高级知识。

是的,当然,在某些情况下没有问题,此外,我们会在实施各种项目时学习。 但是,当您将要从事一个大型而复杂的项目数周,然后可能会发现一种情况,那就是一切都基于错误的前提–错误导致无法进行进一步的工作。 这可能适用于框架,语言,工具。 你只是浪费时间。

因此,请学习该规则,该规则在英语中听起来像是阅读F ***手册或观看F ***视频(因此在副标题中使用缩写)。

有时,您只是错过了工作所必需的关键时刻,琐事。 您至少必须简短地熟悉一下所使用产品的基本信息。 在我的实践中,在很多情况下,开发人员由于对语言或工具的了解不足而无法按时完成任务。 这些都是优秀的专家,他们只是跳到本书的结尾,一开始就缺少作者的重要用语。

新框架几乎每天出现,语言或它们的新版本也以令人羡慕的规律性发布。 为了有效地使用此类工具,我们需要了解它们的工作方式。

规则3。请使用规则1和2。




因此,您阅读了本文并开始工作。 几个小时后,您会看到对我们的工作很重要的手册,然后…跳过它。 不,这行不通,请使用上述规则。 没有人说这会很容易。

规则4.了解更改。


在此过程中,您使用的工具可能会发生变化。 如果您是Web开发人员,则此声明特别重要-JavaScript框架,库和工具经常更改和更新。

幸运的是,不仅您,而且许多其他开发人员都使用相同的工具。 他们在专家交流和StackOpen等相关资源或专门论坛上共享有关问题和发展的信息。

找到有关您的问题或工具更改的信息,直到找到它。 如果什么也没有,请重新阅读规则1。

规则5.休息并从头开始。


在某些情况下,我们确实看不到树木后面的森林。 长时间潜入代码会使我们在精神上和身体上都感到筋疲力尽。 如果您已经通过了三次代码,但仍然没有找到错误的原因,那么该让您的大脑休息一下了。

在某些情况下,在新鲜空气中进行简单的行走会引发新的思想,并有助于立即发现问题。 有时不是,但麻烦,侵略或绝望不是我们业务中的最佳帮手。

只是不要看屏幕。 与同事交谈,安静地坐着,因为噪音会产生负面影响。 最后吃点零食。 如果时间允许,就睡觉,忘记声音和深度睡眠。 有时候,我设法找到了困扰我入睡后困扰的问题的答案。

清除您以前发现错误的所有金属丝和垃圾,并从一个意外的角度查看问题。

那么...是的,你猜对了。 我们回到第1条规则。

Skillbox建议:

Source: https://habr.com/ru/post/zh-CN429958/


All Articles