每天1小时学习编程
这最初是对“你花了多长时间学习编码? ”的评论,但我认为将其作为单独的帖子更有意义。
雷纳尔多说:
我每晚只能在女儿睡着后抽出大约1个小时学习。在她上托儿所之前,我的学习时间都是这样的。我感觉自己比大多数自学者的进度慢得多。我很想尝试一下别人的学习习惯,看看哪种最适合我。
考虑到时间限制,我推荐以下时间表:
深呼吸
集中你的大脑,我们只有一个小时,需要明智地利用它。10 秒进去,10 秒出来。
把他们排除在外。
打字时间 3 到 30 分钟
如果你的打字速度低于每分钟80字,那就用一半小时练习打字。否则,就用前3到5分钟练习打字。如果你用的是Mac电脑,我推荐用TypeFu这个程序。几乎仪式性地从这个开始,它应该能帮助你把大脑调到“我必须现在就行动”的模式,让它有一种紧迫感,这样剩下的时间就能得到更好的利用。
2分钟练习你的编辑器
现在花 2 分钟练习你的文本编辑器(或 IDE),这里有一个例子。
列出一份文本编辑器能做的、你理解的实用功能的清单。也许可以花第一天的时间来列这份清单。你只有一个小时,不要浪费在你不懂的事情上。从简单易懂的地方开始,跳到文件顶部、文件底部,按单词或段落移动。诸如此类。
每次只练习5到10个。当你开始真正掌握这些技巧时,再从列表中挑选一些新的技巧。随着时间的推移,你使用编辑器的能力会不断提升。
一定要留意你使用鼠标的所有操作,然后寻找可以替代鼠标的编辑器功能。程序员是高级用户,所以要好好学习你的编辑器。鼠标最终会成为你前进的绊脚石,所以无论你在哪里使用它,都表明你缺乏某种能力。
利用这段时间来积累对编辑器的了解并加强您的核心编辑技能。
虽然编程并非真正意义上的文本操作,但归根结底,文本操作是你与代码交互的主要方式。如果在文本操作上遇到瓶颈,或者在打字时遇到瓶颈,会严重阻碍你做其他所有事情。所以,每天早上花几分钟时间,把这些技巧牢牢记在脑子里。虽然一开始会很困难,但用不了多久,你的手指就会自动完成这些操作,你无需刻意付出努力。
其余时间:Kata
用剩下的时间练习某种类型的kata 。这里有一个我练习自己编写的 kata 的例子。以下是一些 kata,可以帮助你熟悉 shell(如果你使用的是 Mac 或 Linux)。一开始,你可能需要一个多小时才能完成这些 kata,但经过一些练习,尤其是当你打字、编辑器和思考问题的能力提高后,你应该能够把时间缩短到 20 分钟。
如果你不懂 Ruby,你可以创建自己的 katas:
- 找到您想要学习的内容的教程并按照教程进行操作。
- 一开始会花一个多小时。当天尽可能多地学习。第二天从头开始,尽可能多地学习。一定要从头开始。这样可以更好地利用你的时间,因为你不必在对前半部分理解不透彻的情况下学习后半部分,那样会降低你的清晰度,拖慢你的进度。
- 每天你都可能进步一点点。如果没有,别灰心,明天再试一次。你会开始记住如何完成这些部分,你会发现它们更有意义,花费的时间也更少。最终,你会完成整个教程。
- 完成之后,下一步就是将其内化:能够在完全不参考原始教程的情况下完成整个过程。每次需要参考时,撤消解决方案以回到你之前的环境,然后再次执行该部分,无需查看教程。重复此操作,直到你能流畅地完成。
- 这将帮助您记住相关部分,并解决您知识中的不准确和缺陷。
- 当你能够不参考教程就能做到的时候,就开始练习,尽量少犯错误。你能做到完全正确,不犯任何错误吗?
- 然后尽可能快地练习。哪些步骤最耗时?你的编辑技能清单里有什么可以帮到你吗?或许可以基于哪些方面来选择第二天的编辑技能,哪些方面能帮助你更高效地完成这项工作。
- 然后练习正确且快速地完成它。
Kata 会帮助你建立你真正掌握的特定技能组合,并为其他知识的运用打下坚实的基础。你可以说这些是“硬技能”,是可以练习的特定能力。其他人建议的一些东西是“软技能”,更像是直觉和理解。既然你只有一个小时,那就把它花在学习硬技能上吧。硬技能能帮助你理解软技能。太多人从软技能开始,却缺乏扎实的基础。读了博客或书籍后,很容易自以为了解其中的含义,但最好把这些时间花在实际编程上。对于任何你想学习的软技能,首先要把它具体化,并形成一个 Kata。这将为理解奠定基础。例如,不要浪费时间阅读关于测试、面向对象编程、Redux 之类的资料。如果你想学习这些东西,那就找一个教程,把它变成一个 Kata,掌握它,然后再学习另一个。重叠性会很高,你在任何一个套路中学到的技能都会与其他套路相关。随着时间的推移,它会变得越来越容易。
定期回顾你之前掌握的套路。你会发现自己不如之前那么好了。没关系,努力重新掌握它。重新掌握所需的难度会大大降低,你可能会发现一些之前从未有过的新见解。下次你再回到这个练习时,难度会再次降低,这被称为“间隔重复”。过一段时间,你就能再次回到练习中,几乎一切都会恢复原状。
根据您想要学习的内容或您发现的非常好的教程来创建您的下一个 kata。
6个月调整:
坚持六个月左右,你可能就会掌握一些相当不错的硬技能。不过,你可能会缺少很多宝贵的软技能,但这没关系。
- 此时,将您的 kata 时间缩短至 20 分钟,这样您当天就剩下 30 分钟了。
- 对于套路,只练习你已经掌握的套路,不要尝试新的套路(或者如果你这样做,花整整一个小时来练习那个套路)。
- 利用剩下的 30 分钟,大概尝试创建一个小项目。
什么项目?选择你感兴趣、有价值,或者根据你在练习Katas时学到的知识,感觉触手可及的项目。你不应该已经知道如何去做,但你应该感觉它只是触手可及。这就是“最佳点”。正因为它触手可及,你才需要不断拓展、思考和学习,这意味着你会进步,但你不必过度练习,以免忘记自己在做什么或为什么做。因为很多练习都是你从Katas中学到的技能,这将有助于培养你的软技能,你将学习如何以新的方式运用从Katas中学到的技能来实现新的目标。保持这些项目规模较小,按照我的分配方案,你每天只有30分钟来完成。你会尝试很多不同的想法,所以完成这些项目的时间不应该超过一周。如果其中一个练习停滞不前,两天都没有任何进展,那就说明它不适合你,所以把它放在一边,寻找新的项目或新的套路。等你的能力进一步提升后,再回来练习它。
影响
如果您喜欢我提出的时间表,它会受到很多因素的影响:
- 我在8th Light做咨询的时候学到了 katas 。如果你想要优秀的顾问,就从这里开始吧。
- 我从《天赋小书》中学习了硬技能、软技能以及最佳技能点。这是我最喜欢的书,我至少读了十遍,也送出了八十多本。
- 我链接中的一些资料是在优秀的图灵学院任教期间创作的。我看到数百名学习者通过这里进入编程领域。对于那些正在学习编程的人来说,我看到了像你们一样的学生,我看着他们成功,从那时起,我甚至还和他们中的一些人进行了专业的合作。
- 我链接的一些材料是在Code Platoon教学时创建的,如果你是一名学习编码的美国退伍军人……这是你的独角兽机会。