主题 : 好的程序员,为什么要每天坚持写代码? 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 121354
精华: 0
发帖: 67
金钱: 365 两
威望: 73 点
贡献值: 0 点
综合积分: 134 分
注册时间: 2015-12-11
最后登录: 2017-12-06
楼主  发表于: 2016-02-19 11:59

 好的程序员,为什么要每天坚持写代码?


华清远见微资讯:从技术上说,代码并不需要在午夜之前写,但我不希望因为熬夜太晚以致于写出一些马马虎虎漏洞百出的代码。而且代码也没有必要开源或放到Github上。我定这些规则的目的只是迫使我自己能在写代码的时候更专注(考虑可重用性和决定在进程早期创建模块)。
到现在为止,我终于成功了,已经接近20周,我做到了连续工作于业余项目上。这完全改变了我如何写代码的方式,并且对我的生活和心理产生了重大的影响。

在改变习惯的过程中,发生了很多有意思的事情:
最小化可行的代码。
强迫每天不少于30分钟的写代码时间。(否则的话就真的很难写出有意义的代码,特别是你还得记起前一天你是从哪里离开的。)工作日我能投入的时间不是很多(通常不超过1小时,但都超过30分钟),但在周末,有时我会工作一整天。
将编码养成为一个习惯。
需要注意的是,我并不特别在意Github上的别人对我的看法。我认为这是这一条最关键的地方:这是你为自己做的改变,而不是为了取悦别人而做的改变。这同样适用于健康饮食和锻炼:如果你不关注于改善自己,那么你永远不会取得真正的成功。
战胜焦虑感。
首先我想说的是,我会频繁地感到高度焦虑,当没有完成“足够”工作或没有取得“足够”进步的时候(这两样都比较难以量化,因为我的业余项目没有具体的时间限制)。我意识到,取得进展的感觉,和取得实际进展同样重要。一旦我每天都能有持续的进步,那么焦虑感就会一点点减少。合理安排自己的工作量,不要制定一些不切实际过度自负的期望。
周末。
在周末完成工作是朝着目标前进绝对至关重要的动力(因为通常只有在这种情况下,我才能为业余项目编写有意义的代码)。这是一件好事。在周末制定一个周计划,能让我不再耿耿于沮丧。因为以前我很少能在平时完成我想要做的工作,因此只能迫使自己为了完成更多的工作而拒绝其他的周末活动(享受美食,参观博物馆,逛公园,朋友聚会,等等)。我强烈地感觉到,虽然业余项目非常重要,但也不应该没有自己的生活乐趣。
后台处理。
每天编码业余项目的一个有趣的副作用是,你当前的任务会经常运行在你的脑海里。因此,当我去散步,去洗澡,或做任何其他不需要大脑参与的活动时,我都会思考之后我要编码什么,寻找解决问题的好办法。但当我每周一次或隔周工作于代码时,这就不会发生。相反,那些时候我的脑海中会出现其他的任务,或者,通常情况下,会充斥着因为没有完成任何业余项目而生成的焦虑感。
上下文切换。
当重新继续于业余项目时,总会有上下文切换成本。不幸的是。在整整一周都工作于其他项目之后再想重新投入到业余项目中是非常难的。每天写代码则有助于减少“读档”时间,更容易记起自己当时正在做什么。
工作的平衡。
想要有所改变的最重要的方面之一就是简单地学习如何更好地平衡工作/生活/业余项目。在决定我每天要工作于项目之后,我需要更好地平衡自己的时间。如果我被安排晚上出去,直到深夜才能回来,那么那一天的话我就得在早上搞业余项目,在我开始Khan Academy的工作之前。此外,如果我需要加班完成我的工作,并且回家晚了,那么我会赶紧回家来完成我的每天任务(而不是跳过这一天)。我要指出的是,这样一来,我在业余爱好(如雕版印刷)上的确不能有太多的时间,但这是一个合理的权衡取舍,是适当关注一下好的微信(farsight2013),学习一下还是有必要的。
别人的看法。
这是外部交流这个新习惯时带来的好处。我的小伙伴理解我必须每天完成这项工作,因此有时活动会围绕它进行调度。并且也可以心安理得地说:“是的,我也很想和你们一起出去玩/看电影/等。但我必须搞定我的编码工作“,能够被小伙伴理解和接受。
写了多少代码?
曾经有一段时间我很难相信自己在过去的几个月里居然写了这么多代码。我创建了几个新网站,重写了一些框架,并创建了大量新的node模块。我写了这么多,以致于有时侯会忘记自己做的这些成绩——几个星期似乎是一个遥远的记忆。看到这些我已经完成的工作量,我特别开心。
我认为在习惯方面的改变是一个巨大的成功,并希望能够保持继续。因此,我向大家推荐这个策略,希望能帮助完成业余项目的实质性工作。非常期待听到大家的意见和建议,让我们共同进步!