培养好编码习惯,更好地产出和维护成果

本文转载自公众号“读芯术”(ID:AI_Discovery)。

成都创新互联专注于成武网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供成武营销型网站建设,成武网站制作、成武网页设计、成武网站官网定制、重庆小程序开发服务,打造成武网络公司原创品牌,更为您提供成武网站排名全网营销落地服务。

新年伊始,人们总会为自己立几个flag。然而一月已经过去了,很多人已经放弃了自己的目标,打算明年再做打算。是因为缺乏动力、没有时间来完成这些目标吗?大概率都不是。

与计划去健身房、健康饮食、一年读52本书或是任何常见的新年目标相同,编码也是一种需要养成和坚持的习惯。新年目标注定失败的原因之一即为:没有养成习惯。不仅如此,很多人无意识地中断坚持还会阻碍其实现目标。

培养编码习惯也是如此,也会有与其他习惯一样坚持不了的问题。有一些方法可以养成编码习惯并获得可持续的成果。引用Zulie Rane的话(这是我读过的关于培养习惯的最佳语录):“培养好习惯不需要21天、不需要神迹、不需要效率大师的祝福。”

将编码与兴趣结合

编码有时比较无聊,对编码内容不感兴趣的时候尤甚。最好的应对方法就是将编码与你的兴趣结合。所幸编码设计生活方方面面,很容易就可以将所学与兴趣结合起来。

如果对股市感兴趣,那就使用Python构建一个收集股票数据的程序,以便计划下一次交易。如果你是喜欢一级方程式的“车迷”,可以使用机器学习创建F1竞赛预测器。而如果对气候变化和传染病之间的相互作用感兴趣,就使用Python和数据可视化技术完成对气候变化与全球疟疾死亡的关系分析。

换言之,热情之所在,编码之所向。

使用“提示-惯例行为-奖励(cue-routine-reward)”惯性回路

这一习惯培养方法久经考验并广为流传。记者、管理学作家查尔斯·杜希格提出习惯回路(The Habit Loop),与神经学家、心理学家以及研究人员一道研究出了长期习惯的培养方法。他形容人们在新一年开始时总是对新年目标热情满满,然而往往二月即终。

他建议养成长期习惯的方法之一是“提示—惯例行为—奖例”,这一方法科学有效。首先选择一个“提示(cue)”或信号来触发习惯。然后决定收到提示后要完成的惯例行为/习惯(routine/habit)。最后,选择完成惯性后应获得的奖励(reward)。这样就完成了“提示—惯例行为—奖励”的习惯回路。

在笔者看来,这与研究人员教老鼠完成任务来换取食物奖励的方法异曲同工。而人类与老鼠有约80%相似的DNA。如果这一方法对老鼠们有效,那对我们一定也有效。

图源:unsplash

  • 提示:提示可以选取某个特定时间、某种心情或外在提示(例如手机闹钟),视个人情况而定。
  • 惯例行为(习惯):确定提示后,你就可以决定在此期间要完成的习惯。在本文设定下就是编码。我发现设定一个时间表对养成习惯很有效。否则,很难确定何时完成工作,或者是否已经完成了一天的习惯。因此,我建议将惯例行为设置为“我要编写1个小时的代码”或类似的内容。这样就可以确定例程的确切终点,然后发出奖励信号。
  • 奖励:你需要确定完成习惯后所获得的奖励。这取决于动力或动机,可以是食物、玩会儿手机、户外散步等任何事物。在找到适合自己的奖励之前可能需要尝试不同的奖励。
  • 成功小提示:查尔斯·杜希格指出,你必须预想出可能分散注意力的诱惑。通过事先确定原因(压力、分心等),可以指定应急计划,从而保持进度。

压力之下,你是否会摒弃能完成更多工作或多回复一封电子邮件的习惯?安装网站限制器,并将手机放在不可及的地方。干扰会不会破坏你的专注状态?选择一个适合自己习惯的时间,让自己不受干扰。

制定可量化的目标

虽然笔者本人畏惧SMART目标,但它不无道理。建立可量化的目标将是确保长期编码习惯的最佳方法之一。通过使用SMART可以确保实现目标,从而维持习惯。非SMART目标的一个例子:我将完美精通Python。

SMART是缩写,即建立明确的(Specific)、可量化的(Measurable)、可实现的(Attainable )、相关的(Relevant)、基于时间的(Time-based)目标。如果你的目标符合以上五个标准,则更有可能实现。换句话说,如果你制定的目标合适,就能养成一个长期的习惯。

不属于SMART目标的示例:我将成为Python高手。

属于SMART目标的示例:为了实现到年底精通Python的目标,通过完成6个教程的学习课程学习Python语言,并且本周开始,每天进行一个小时的编码来完成一个毕业项目。

为什么这个目标符合SMART:

  • 明确:设定这个目标就是为了精通Python编程语言。且明确说明了如何精通Python(完成特定的学习课程)。
  • 可量化:该目标是可量化的,要在今年年底之前实现精通Python的目标,从而设定了量化进度的特定时间。到年底,我的进步水平可以量化。
  • 可实现:这个目标我可以在一年内实现,所以精通Python语言是可实现的目标。这是根据以前学习其他编程语言的经验确定的。
  • 相关:我的总体目标(终极目标)就是成为一名数据科学家,因此这个目标与我的终极目标是相关的。学习Python是该过程的一部分,并且是数据科学家必需的一项技能。因此,这个目标与我的大目标有关。
  • 基于时间:这个目标设定了完成目标的特定时间范围。在我定下目标的那一周起的一年我要完成精通Python的目标。

可量化的目标是养成长期习惯的基石。它们不仅提供了培养编码习惯的路线图,且必定有所成效。

做想做的项目

还在受编码教程的折磨吗?花费大量时间完成了教程后,你开始做第一个实操项目,这时你发现编码教程其实徒有折磨,因为你自己编写不了几行代码。这通常会导致放弃,然后几年后再次遇到编码漏洞时又不得不重新开始学习。这是一个恶性循环,导致你无法快速成为更好的程序员。

怎么解决呢?那就是做自己感兴趣的项目。

如果一开始只能编写一些变量和一些条件循环,这不过是你的起点。从那里开始,完成教程,然后立即将学到的知识应用到项目中。项目将一步一步地组合在一起,并且不知不觉中,编码习惯就会养成。

内在好奇心会让人们想去了解事物的运行原理,利用这点,你对项目的兴趣将确保持续产出(或用代码编写到IDE)。

图源:unsplash

前一天制定好编码任务

这一点在高效和自我提升大师的指导下流传甚广,如果对他们有用,那么对我们也同理。

前一天计划好要编写的代码,就无需受其干扰。如果习惯每天留出一个小时编写代码,提前计划就可以节省宝贵的时间。与其花一整个小时来计划任务,不如提前做好计划。这样你坐在办公桌前时,便会确切地知道需要做什么。

这种计划的形式可以是完成特定的教程、编写特定的任务、自动化流程或实践新概念。

关键是选择的任务要能在预留的时间内完成。许多程序员都认同接手一个部分完成的代码是很难的,除非是将流程写下来,可以确切地看到上次编写的位置,以及重新开始需要完成的下一步编码,否则很可能无法理解本来编写代码的思路。

让编码成为社交方式

人们总觉得程序员是地下室独自工作的,不要让刻板印象阻碍编码习惯的培养。无疑,编码是一项个人活动,但并不意味着应该孤独。人类天生就是社群动物(许多刻板印象下的程序员可能不认同),所以如果你正在努力培养编码习惯,请务必加以利用。

打破刻板印象,与朋友一起编码,配对程序,或是参加团体黑客松和Kaggle比赛。不要一个人一条路走到黑。

确保你喜欢所学的编码领域

这点似乎不言而喻,但是对于遇到的第一门编程语言或学科,人们往往不进行足够的研究就一头扎了进去,然后只能遇到什么学什么。这可能导致你不能真正享受所学内容。

不喜欢自己正在学习的东西,会直接否掉养成习惯的一切可能。因此,要选择一种可以让自己工作一段时间的语言或学科。这不意味着对最初选择的语言从一而终。相反,可以将其视为组织学习过程,从而更好地实现目标。

图源:unsplash

如果喜欢数据科学和分析:

  • Python
  • R
  • SQL
  • Julia
  • MATLAB

如果喜欢网页开发:

  • JavaScript
  • Python
  • HTML and CSS
  • PHP
  • TypeScript

如果喜欢软件开发:

  • Java
  • C#
  • C++
  • JavaScript
  • Python

如果喜欢应用开发:

  • Kotlin (Android)
  • Swift (iOS)
  • JavaScript
  • Java (Android)
  • HTML and CSS

养成扎实的长久的编码习惯有许多可采取的策略。养成一个习惯,可以确保在很长一段时间内都能从中看到成果,这些成果是在艰难过程中保持前进的动力。

文章名称:培养好编码习惯,更好地产出和维护成果
文章转载:http://www.36103.cn/qtweb/news32/38882.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联