你是否曾为业余项目没有进展而惆怅过?想要有完整两天时间(没有任何的放松机会)来编程也不现实,时间的零乱往往让人不知所措。还有一个重要的问题就是你上个星期写的代码,隔一个星期后再接着写,你还能记得多少?
为此,可汗学院计算机科学学院院长暨jQuery创始人John Resig撰文分享了自己的心得和体会。现在,让我们看看John Resig是如何做到每天都写代码的,首先他给自己定下了几条规则:
1. 每天必须写代码。可以写文档、博客或者其他的文章,但是必须要加进自己写的代码。
2. 代码必须是有用的。不要格式化、重构的代码。
3. 代码必须在午夜之前写好(为了避免不想熬夜而草率地写代码)。
4. 代码必须是开源的,且要放到Github上(这样强迫自己小心写代码,并会考虑代码重用性及怎么创建项目前期的模块)。
当然,以上这些规则是灵活的。John Resig之所以制定这么严格的规则,是想提高自己业余项目的开发效率。他已经在连续20周的时间里每天写代码,这给他带来了好的工作习惯。鉴于此,John Resig为大家分享了自己坚持每天做业余项目后的心得体会:
利用最小化的时间写好代码。我强迫自己每天花不少于半个小时来写代码(这真不是一件容易的事,尤其还得回忆前一天写了什么),在工作日期间一般不超过一个小时,但在周末我会花多一些时间做业余项目。
让写代码成为习惯。要知道我并不关心自己在Github上的排名,因为我觉得做业余项目是自己的事,不要为了取悦别人而做。减肥和锻炼也是同样的道理,如果你不在乎提升自己,你永远都不会取得成功。
与不良情绪作斗争。在开始实施每天写代码的计划前期,我时常焦虑项目没有很大的进展,毕竟业余项目没有时间限制。后来我意识到有这样的不良情绪对项目进展一点帮助都没有,反而会阻碍。所以要与不良情绪作斗争,现在我能心平气和地完成大量的工作,再也不会像以前那样为工作的事情忙得焦头烂额了。
安排、利用好周末时间。对大多数人来说,利用周末时间做业余项目是项目取得大进展的绝好机会。而对于我来说,如果直到周末业余项目才能做好我会对自己很失望。之前我很少能完成所有自己想做的工作,这也就强迫自己不参加诸如参观博物馆、游公园等自己喜欢的周末娱乐活动,把时间留给工作。然而现在我强烈地意识到尽管业余项目很重要,但是也不应该忽略个人生活,所以学会安排时间很重要。
潜意识思考。每天做业余项目写代码有一个有趣的副作用,那就是大脑会在潜意识里思考。因此,当我在散步、淋浴或从事其他非脑力活动时,我还在想着下一步代码该怎么写、出现问题了有什么解决的好方法,以前我每星期或者隔一个星期写一次代码从没出现过这样的情况。时间用来思考自然就不会再为业余项目取得的进展少而焦虑了。
每天写一点代码不易忘。当接头做业余项目时总要付出“上下文切换”的代价,然而不幸的是思考是很难接上头的。所以我每天都做一点业余项目,让自己不容易忘记。
管理好时间,平衡工作、生活、业余项目。现在的我已简单地学会了如何更好地维持工作、生活、业余项目的平衡,我知道自己每天都要做业余项目,所以我会更好地管理时间。如果我晚上有活动且很晚才能回家,那么我会在开始工作之前就做好当天的业余项目。假如当天的业余项目没有做完,那么不论多晚我都会完成,做到今日事今日毕。
要及时跟外界沟通。当自己养成了新的习惯后跟外界沟通这是很有好处的。我的伙伴们都知道我每天写代码这个习惯,因此有活动安排时我会跟他们说:“等我写完代码再去。”他们一点都不会介意也很理解我的行为。
代码积少成多。我很难相信自己在过去的几个月写了很多的代码。我新建了几个网站,重新写了框架并创建了大量节点模块。我已经写了这么多以至于有时我都忘记自己写了些什么,但是我真的很高兴我写了这么多的代码。
好的习惯能带来巨大的成功,像每天写代码做业余项目这件事只要你坚持做下去,一定会有意想不到的效果。(文/李京京 责编/钱曙光)
文章主要来源: Ejohn
相关推荐
当一个项目由C#编写,而团队或后续维护者更熟悉VB.NET时,进行代码转换就显得尤为必要。本篇将详细探讨如何将C#代码项目转换为VB.NET项目。 首先,C#和VB.NET都是Microsoft开发的,它们共享.NET Framework或.NET ...
"DXF转G代码"指的是将DXF文件转换为G代码,以便于CNC机床能够理解和执行设计的制造过程。 DXF文件通常包含线条、弧线、多边形等几何形状,这些信息在制造过程中用于定义零件的轮廓和路径。G代码则包含了具体的运动...
Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...
综上所述,"java转js工具"是一个重要的开发辅助工具,它帮助开发者在Java和JavaScript之间架起桥梁,使得跨平台开发变得更加便捷。然而,使用时需要注意语言特性的差异,以及转换过程中可能出现的问题和挑战。
标题中的“字体及封闭图形G代码自动生成VC源码”是指一个基于Visual C++(VC)的编程项目,它的主要功能是为数控加工生成特定的G代码。G代码,也称为NC(Numerical Control)代码,是计算机数控机床的语言,用于指示...
基于VS2010的MFC实现DXF文件转G代码,包括直线、圆、圆弧、样条曲线、优化多段线、多段线等。包含全部源代码与测试用DXF文件,请使用VS2010先编译后运行,高于VS2010时,需要先转换工程。
有朋友邮件问我如何用CANoe的CAPL读取S19...基于此,我愿和大家一起分享我以前写的代码,不是很完善,敬请大家见谅。有更优化的,请和我分享,谢谢! 我的邮箱:tianhua_ming@126.com 如果回复不是很及时,请谅解!
C++实现USB HID设备读写代码 C++语言可以实现读取USB HID设备的数据读写,通过使用C++语言编写的代码,可以实现对USB HID设备的控制和交互。下面是关于C++实现USB HID设备读写代码的知识点: 1. USB HID设备概述 ...
OD汇编转易语言置入代码 非常好的工具 源代码 无模块
复旦F1208CPU卡的读写操作函数,1、CPU卡CPU卡激活;2、初始化CPU卡;3、创建文件和删除文件;4、修改文件密码;5、读写文件。全国首创,只需十分钟就可轻松搞定CPU卡!
1、 代码是集成很多库,JPEG库、BMB转YUV库、24位转256色库、YUV运动预测库,主题代码为大家都共用的ImageProcessing,在01_VC2005文件下面。 2、 本代码不适合于初学者,有些研究2D转3D功底的兄弟可以作为参考,...
每次做android的时候都会有很多json数据,而且里面的属性还要一个一个写在类里面,很麻烦,然后做了这个json转java源代码的工具。 由于是java swing 写的,必须要java环境才能运行哦。 没有要资源分,免费下载。 ...
`lm_rgb2yuv.c`可能包含如下代码: ```c #include "lm_rgb2yuv.h" void rgb2yuv420(unsigned char *rgb, unsigned char *yuv, int width, int height) { int i, j; for (i = 0; i ; i++) { for (j = 0; j ; j++...
C# To C++ Converter是一款将C#代码或者项目转换为C++的工具 转换所有版本的C#代码 许多转换和格式化选项 选项可用于C ++ 11输出 代表和事件从C#到C ++的优秀转换 操作符重载从C#到C ++的精确转换 评估所有引用...
可以把delphi代码转换为C++代码,每次转换单个文件。 源代码中的中文,转换后在界面看是乱码,将转换后的代码保存文件后,中文恢复,不再是乱码
总结来说,华为代码规范和模板旨在提升代码质量和开发效率,通过自动加载类注释、代码格式化和命名规则等,帮助开发者写出高质量、易读、易维护的代码。通过集成这些规范到开发流程中,团队能够更好地协同工作,共同...
在提供的文件"ourdev_583184"和"ourdev_545728"中,很可能是该DXF转G代码程序的源代码和相关资源。用户可以研究这些源码,了解程序的具体实现细节,学习如何处理DXF文件和生成G代码,这对于想要深入理解和开发类似...
可对音频或数字信号进行重采样, 提供了抽取、插值、分数倍采样率转换的代码 代码在linux上实现,在windows上只需要建工程编译即可 更多代码,可访问: http://code.google.com/p/falab
用python写的转化程序,将任意图片转化为g代码,最后生成轮廓加工轨迹,由于用了opencv模块,所以小程序比较臃肿分成了两份,分卷地址后续添加,不过不用安装,傻瓜式操作,想看源码可以联系我