如何正确地练习所学知识 刻意练习的特点

2025-06-07

如何正确地实践所学知识

刻意练习的特点

大家好!这是我第一次在 dev.to 上发帖,虽然我一直在这里潜水分享东西。两年前我就跟 Ben 说,等我在 Codeland 见到他的时候我会发点东西。不过,迟到总比不到好!

所以,我想跟大家分享一下我在自学初期学到的一些非常重要的技能。以后我会一一讲解,但这篇文章里,我想重点介绍一下真正改变了我学习方式的一项技能。

我们很多人通过视频、书籍、播客、博客文章来学习。但是,当我们接触到这些信息后,该如何利用呢?

学以致用既是一项技能,也是一种习惯,我们可以培养。如果不及早养成这个习惯,你就会像我一样,开始原地踏步。人们总是问我“在做什么”,我以为他们指的是我看了哪些视频,或者在 Treehouse 上完成了哪些课程。

是的,你可以告诉他们你正在观看视频并通过 freeCodeCamp 进行学习,这是一个完全可以接受的回答。但他们真正想知道的是,你是如何运用所学技能的。

学习过程中,让我更加焦虑的是,我总觉得自己做得“不够”,或者至少做得不够好。或许我做得还不够,但我从未给自己机会,因为我没有积极、规律地去实践所学——以项目的形式……或者,更重要的是,没有“刻意练习”。

刻意练习的特点

那么,刻意练习到底是什么呢?

我的意思是,你坐下来练习是刻意的,对吧?你是刻意选择坐下来练习的。

嗯,这确实有一部分原因,但刻意练习有一些固定的特征。
一般来说,刻意练习就像常规练习一样,但有一个特定的目标,那就是提高

当你带着特定目标去做某事时,你的方法发生改变是有道理的。

如果你想备战马拉松,你的训练和练习方式与百米短跑的训练方式截然不同。同样,如果你的目标是学习 JavaScript 并成为一名前端开发者,那么你需要专注JavaScript,并将你的目标进一步细分。

此外,从事任何与JavaScript 特定领域无关的工作都是在浪费时间。虽然这不像学习西班牙语而不是 FE 开发那样完全浪费时间,但无论如何,这仍然是一种浪费。那样你永远无法实现你的目标。

刻意练习也需要专注力和注意力,以及持续的努力和精力。专注力……注意力……精力……这些都是我们人类所拥有的有限资源。(不过,除了提升自己,我真的想不出还有什么更好的方法来利用你的精力了,对吧?)

刻意练习注重质量而非数量

首先,刻意练习注重练习的质量,而不是数量

如果你看看市面上大多数关于练习的资源和文章,你会发现它们都鼓励坚持——每天都坚持,做好学习的准备。坚持确实是成功的一半。如果不练习你遇到的知识,你就无法进步,这就是为什么当你不再需要“训练轮”时,你会感到压力。

但仅仅出现并做一些“使编码变得更好的事情”是行不通的,因为它是不可持续的。

多年来,我一直听到马尔科姆·格拉德威尔推崇的“10000小时”名言,说实话,我觉得这完全是一派胡言。练习10000小时会发生什么?

如果你把注意力放在了错误的事情上,或者发现在课程之间仍然无法回忆起相关或先决条件的信息,该怎么办?10,000 小时的无重点工作毫无意义,这就是为什么我对资深业内人士吹嘘自己多年编程经验感到强烈不满。

通常,他们会像新手一样查找基本知识并经常参考它们,因为他们从未花时间真正掌握他们的工作。

各位,精通实属罕见。它并不像我们想象的那么常见,因为很多喧嚣都来自那些自称精通的人。
记住,低质量的练习课程结构糟糕,缺乏明确的目标或预期结果。

另一方面,高质量的练习课程更有可能让学生获得持久的理解。

刻意练习是高度结构化的

你不能只是漫无目的地参加练习课程,只为让自己变得更好。

在哪些方面有所进步?
进步多少?

一旦你实现了这个目标,你下一步要做什么才能达到更大的目标?

如果没有结构,你也不太可能坚持下去。

刻意练习能立即反馈你的进步

幸运的是,对于 Web 开发来说,错误是极好的学习工具。
此外,许多像 Treehouse 和 freeCodeCamp 这样的电子学习平台,将网站上的实践与测试驱动的开发环境相结合,提供即时反馈,以满足这一标准。

但即使有错误反馈和 TDD 之类的东西,也需要考虑其他因素。这些因素是否会影响你成为该领域优秀开发者的目标?

那么技术、风格和解决问题的方法呢?我们仍然主要需要人类,因为最终使用我们代码的是人类而不是机器。

我们还需要反馈具有极高的信息量,其中包含关于你如何以及为什么正确或错误的具体信息,以及根据需要了解更多信息的指导。

因此,在我们学习编码时,人类和计算机的反馈是刻意练习的关键部分。

刻意练习需要重复

最佳实践是重复执行相同或相关的任务。练习不是观看视频或阅读教程。那些是学习活动

即使只是一遍又一遍地重复同样的动作,也不会带来进步。
试想一下:如果你刻意练习某个特定的动作,比如从头开始编写一个函数,因为你还不习惯自己动手,那么你就会设置多个挑战来从头开始编写一个函数。

如果您知道自己的弱点是编写函数,但决定编写非函数的东西……那么您就不是刻意练习,因为刻意练习需要让自己面临同样的挑战,以便让您感到舒适并熟悉解决这些挑战。

很多新手开发者以为,所有资深开发者的编程都是在所谓的“心流状态”下进行的。他们认为开发者天生就知道如何克服障碍。但实际上,他们通过频繁练习,能够识别出通往目标道路上的所有障碍。

而且,刻意练习可以带来更轻松、更自然的编程和解决问题的能力。

但是,如果没有刻意练习,你就无法成为专家。这根本不可能。你最多只能维持平庸。这对很多人来说都没什么问题,但我希望帮助人们成为最好的开发者,所以,如果非要我说的话——今天就把刻意练习添加到你的工具箱里吧!

回顾一下:

刻意练习不同于通常所说的“练习”,因为它注重练习的质量而不是数量

为了使练习具有深思熟虑性,它还需要高度结构化,提供详细的反馈和改进指导,并涉及重复完成相同或类似的任务

就是这样!现在你知道了,基本上有一个 Practice++ 可以帮助你提升你的学习水平。

学习更多像这样的有用技能!😊

如果您想了解更多有关学习以及其他经常被忽视但至关重要的技术技能,请订阅《代码生活》时事通讯!❤️

文章来源:https://dev.to/lavie_encode/how-to-properly-practice-what-you-learn-1inb
PREV
理解 JavaScript 闭包的简单指南
NEXT
自学编程指南(以及找工作指南!)第一步:搞清楚你到底在做什么 第二步:选择一个职位,然后倒推 第三步:提升你的技能 第四步:建立你的作品集和简历 第五步:申请工作!到这一步