大家好,我是 Blazej。在我开始学习编程的旅程时,我就向自己保证我不会作弊。
在解决任何练习时,我向自己保证,在我的代码运行正常之前,我不会查找解决方案。
我决定参加 Odin 项目,因为我厌倦了 Udemy 课程和 YouTube 视频,虽然它们无论如何都不算糟糕,但我觉得它们对我没有任何帮助。
我发现,每看一个视频三分钟后,我就很难集中注意力,思绪开始飘忽不定。不过,这是另一篇博文的主题了。
Odin 项目课程基于阅读文档和解决练习、制作项目、阅读更多文档、解决更多练习以及构建更多项目,正如您所猜测的,随着您的进步,这些项目会变得越来越困难。
一切都很顺利,直到我到达这一点:
我记得那是一个漫长的周末,我花了整整四天时间试图解决所有问题。前几项练习进行得很顺利,但我被回文(我最终解决了)和斐波那契数列难住了。
哦,是的……那真是太棒了。但你可能会问,上图中没有列出这样的练习,对吧?是的,但当你进入提到的存储库时,你会发现它们排在第 8 和第 9 位。
我花了很长时间才解决以前的练习,以至于我忘记了应该在哪里停下来,只是继续下去。
我苦苦思索,一饮一茶。随着时间流逝,我的想法开始发生巨大变化,从“这很简单,我会做”到“可能有些地方不对,我的思维过程似乎是正确的,练习本身一定存在一些错误。也许我应该查找解决方案?”
我学习的时候,会使用番茄工作法:集中学习25分钟,然后休息5分钟。
番茄工作法正在过去,我设法达到了能够得到某种斐波那契数列的程度......但它似乎仍然不正确。
这时,我想,“好吧,我到了这一步,以后可能还会学到一些东西,所以我可以看看解决方案然后继续前进。”
我按照自己的想法去做了……当然,我当时想,“哦,是的,就是这么简单,而且经过深思熟虑。好吧,那我们继续吧!”
在斐波那契之后,有一个对象练习需要解决,我感到很困惑,因为我们在 TOP 中还没有接触到对象。
而我的猜测是对的,我错误地提前了几节课……
它只是让我确信作弊是正确的,而且我很快就会学到一些新东西,让我以后可以更轻松地解决问题。哈哈!
几节课过去了,我花了大约一周的时间才完成,然后我又回到了回文和斐波那契。不过这一次,我有点紧张……
回文运算很顺利,然后我坐下来做斐波那契数列。这里必须提一下,当我打开练习文件时,它当然已经解决了,所以我尽量不去看代码。
我只是标记了所有内容并删除了它。但是,我记得第一行是:
let fib = [];
我开始解这个数列。但毫无进展。我决定做晚饭然后出去散步。每次离开电脑,我的大脑就会回到斐波那契数列。
我感觉 VSCode 在我的脑海里运行。我发誓,我看不到空气炸锅里炸薯条的画面,而只能看到一行行斐波那契代码(尤其是那个该死的循环和“if”语句)。
当然,有趣的感觉是,想象一些解决方案只是为了在 5 秒后意识到我已经尝试过这个,或者只是意识到 JavaScript 根本不是那样工作的!!!
我吃完饭就出去散步。散步一小时 = 深思一小时。我在笔记中写下了 3 个新解决方案,并且 100% 确信它们会奏效。
猜猜哪个方法奏效了。是的,你没看错,没有!我得到的还是同样的结果。那一刻,我想到在数组中添加一些东西。
我知道我需要一些东西。但在我的大脑深处,我得到的答案是:“当你删除之前解决的练习时,那个数组是空的。”我只是对自己撒了谎。
我回去阅读文档和一些文章,但我知道这次不能作弊。我已经知道作弊从长远来看没有帮助,如果我现在作弊,以后我只会面临同样的问题。
三个小时过去了。我不再沮丧了。我希望这个问题能得到解决,我想了解我做错了什么。我还觉得好像我知道这个循环是如何工作的,而且我觉得我已经尝试了每一个带有条件语句的配置。
我脑海中唯一的解决方案是通过 Discord 频道寻求帮助。
我解决了!!!!看,我必须将值放入该数组中,并在循环之前提取条件。这正是我的大脑在 10 多个小时前告诉我的。
但因为我已经看到了一点解决办法,所以我一直欺骗自己不要这么做,相信它会有所不同。呃。
我在这一天学到的第二个教训当然是寻求帮助。但我强烈建议每个人都阅读文档并尝试自己解决所有问题,尤其是在他们仍在学习的时候。
在这个过程中我学到了很多东西并且相信我不会再犯同样的错误。
现在,我更愿意尝试其他练习。我现在对这个过程很熟悉了!