`
zhb8015
  • 浏览: 404483 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Spring Roo杂谈
浏览量:0
社区版块
存档分类
最新评论

如何做到每天写代码(转)

阅读更多
       每天都希望能写一些代码,以前觉得是一件很COOL的事情。但时至今日,都没有实现这个愿望,为什么呢?估计会找出一大堆的理由。让自己的愿望更加的贴近现实,不要让他们消失。
摘要:总有一大堆事情没有做完,没有时间和精力为业余项目写代码?不要着急,看看可汗学院计算机科学院院长John Resig怎么说。本文将教你如何保证在每天都能有时间给业余项目写代码。

你是否曾为业余项目没有进展而惆怅过?想要有完整两天时间(没有任何的放松机会)来编程也不现实,时间的零乱往往让人不知所措。还有一个重要的问题就是你上个星期写的代码,隔一个星期后再接着写,你还能记得多少?

为此,可汗学院计算机科学学院院长暨jQuery创始人John Resig撰文分享了自己的心得和体会。现在,让我们看看John Resig是如何做到每天都写代码的,首先他给自己定下了几条规则:

1. 每天必须写代码。可以写文档、博客或者其他的文章,但是必须要加进自己写的代码。 
2. 代码必须是有用的。不要格式化、重构的代码。 
3. 代码必须在午夜之前写好(为了避免不想熬夜而草率地写代码)。 
4. 代码必须是开源的,且要放到Github上(这样强迫自己小心写代码,并会考虑代码重用性及怎么创建项目前期的模块)。

当然,以上这些规则是灵活的。John Resig之所以制定这么严格的规则,是想提高自己业余项目的开发效率。他已经在连续20周的时间里每天写代码,这给他带来了好的工作习惯。鉴于此,John Resig为大家分享了自己坚持每天做业余项目后的心得体会:

利用最小化的时间写好代码。我强迫自己每天花不少于半个小时来写代码(这真不是一件容易的事,尤其还得回忆前一天写了什么),在工作日期间一般不超过一个小时,但在周末我会花多一些时间做业余项目。

让写代码成为习惯。要知道我并不关心自己在Github上的排名,因为我觉得做业余项目是自己的事,不要为了取悦别人而做。减肥和锻炼也是同样的道理,如果你不在乎提升自己,你永远都不会取得成功。

与不良情绪作斗争。在开始实施每天写代码的计划前期,我时常焦虑项目没有很大的进展,毕竟业余项目没有时间限制。后来我意识到有这样的不良情绪对项目进展一点帮助都没有,反而会阻碍。所以要与不良情绪作斗争,现在我能心平气和地完成大量的工作,再也不会像以前那样为工作的事情忙得焦头烂额了。

安排、利用好周末时间。对大多数人来说,利用周末时间做业余项目是项目取得大进展的绝好机会。而对于我来说,如果直到周末业余项目才能做好我会对自己很失望。之前我很少能完成所有自己想做的工作,这也就强迫自己不参加诸如参观博物馆、游公园等自己喜欢的周末娱乐活动,把时间留给工作。然而现在我强烈地意识到尽管业余项目很重要,但是也不应该忽略个人生活,所以学会安排时间很重要。

潜意识思考。每天做业余项目写代码有一个有趣的副作用,那就是大脑会在潜意识里思考。因此,当我在散步、淋浴或从事其他非脑力活动时,我还在想着下一步代码该怎么写、出现问题了有什么解决的好方法,以前我每星期或者隔一个星期写一次代码从没出现过这样的情况。时间用来思考自然就不会再为业余项目取得的进展少而焦虑了。

每天写一点代码不易忘。当接头做业余项目时总要付出“上下文切换”的代价,然而不幸的是思考是很难接上头的。所以我每天都做一点业余项目,让自己不容易忘记。

管理好时间,平衡工作、生活、业余项目。现在的我已简单地学会了如何更好地维持工作、生活、业余项目的平衡,我知道自己每天都要做业余项目,所以我会更好地管理时间。如果我晚上有活动且很晚才能回家,那么我会在开始工作之前就做好当天的业余项目。假如当天的业余项目没有做完,那么不论多晚我都会完成,做到今日事今日毕。

要及时跟外界沟通。当自己养成了新的习惯后跟外界沟通这是很有好处的。我的伙伴们都知道我每天写代码这个习惯,因此有活动安排时我会跟他们说:“等我写完代码再去。”他们一点都不会介意也很理解我的行为。

代码积少成多。我很难相信自己在过去的几个月写了很多的代码。我新建了几个网站,重新写了框架并创建了大量节点模块。我已经写了这么多以至于有时我都忘记自己写了些什么,但是我真的很高兴我写了这么多的代码。

好的习惯能带来巨大的成功,像每天写代码做业余项目这件事只要你坚持做下去,一定会有意想不到的效果。(文/李京京 责编/钱曙光)

文章主要来源: Ejohn                                  

分享到:
评论

相关推荐

    DXF转G代码

    "DXF转G代码"指的是将DXF文件转换为G代码,以便于CNC机床能够理解和执行设计的制造过程。 DXF文件通常包含线条、弧线、多边形等几何形状,这些信息在制造过程中用于定义零件的轮廓和路径。G代码则包含了具体的运动...

    Java2Pas Java代码转pas代码

    Java2Pas是一个实用工具,主要用于将Java编程语言编写的源代码转换为Pascal语言的等效代码。这个工具对于那些需要在两种语言之间迁移代码或者理解不同编程语言语法的开发者来说非常有价值。Java和Pascal虽然都是面向...

    DXF转G代码源程序

    本压缩包中的"DXF转G代码源程序"应该包含了一套转换工具,能够将DXF文件中的图形数据转换为CNC机床可以理解的G代码。这个过程通常包括以下几个关键步骤: 1. **解析DXF文件**:DXF文件结构基于ASCII文本,源程序...

    Simulink模型代码生成配置转C代码

    "Simulink 模型代码生成配置转 C 代码" Simulink 模型代码生成配置是指将 Simulink 模型转换为 C 代码的过程。这个过程涉及到多个步骤,包括模型的建立、信号线的命名、数据的赋值、模型的检验、数据对象的封装、...

    java转js工具

    综上所述,"java转js工具"是一个重要的开发辅助工具,它帮助开发者在Java和JavaScript之间架起桥梁,使得跨平台开发变得更加便捷。然而,使用时需要注意语言特性的差异,以及转换过程中可能出现的问题和挑战。

    字体及封闭图形G代码自动生成VC源码

    标题中的“字体及封闭图形G代码自动生成VC源码”是指一个基于Visual C++(VC)的编程项目,它的主要功能是为数控加工生成特定的G代码。G代码,也称为NC(Numerical Control)代码,是计算机数控机床的语言,用于指示...

    CAD DXF文件转换G代码

    基于VS2010的MFC实现DXF文件转G代码,包括直线、圆、圆弧、样条曲线、优化多段线、多段线等。包含全部源代码与测试用DXF文件,请使用VS2010先编译后运行,高于VS2010时,需要先转换工程。

    WAV转换为C代码的小工具

    标题中的“WAV转换为C代码的小工具”指的是一个实用程序,它能够将WAV音频文件转换成C语言源代码。这种工具对于嵌入式系统开发者尤其有用,因为它们经常需要在有限的内存和处理能力下播放音频。WAV是一种常见的无损...

    AUTOCAD原图轨迹转换成数控加工轨迹G代码

    在CAD/CAM领域,将AUTOCAD的原图轨迹转换为数控加工的G代码是制造过程中至关重要的一环。G代码,也称为RS-274,是数控机床使用的编程语言,用于精确控制机床的动作,包括切割路径、速度、进给率等参数。本主题将深入...

    OD汇编转易语言置入代码

    OD汇编转易语言置入代码 非常好的工具 源代码 无模块

    c++转C#工具

    标题中的"C++转C#工具"指的是一个软件应用程序,它能帮助程序员将源代码从C++语言转换为C#语言。这种工具通常用于在已经拥有大量C++代码库的情况下,想要利用C#语言的优势,或者将项目迁移到.NET框架的情况。 C++是...

    CPU卡读写操作源代码

    C#读写复旦F1208CPU卡源码,1、CPU卡CPU卡激活;2、初始化CPU卡;3、创建文件和删除文件;4、修改文件密码;5、读写文件。全国首创,只需十分钟就可轻松搞定CPU卡!

    DXF文件转为G代码(NC文件)工具

    DXF文件转为G代码(NC文件)工具是一款专业级的应用程序,专为将CAD设计数据转换成机器可读的G代码格式而设计。DXF(Drawing Exchange Format)是AutoCAD开发的一种图形交换格式,广泛用于二维绘图,而G代码(也称为...

    2D转3D版本代码Ver0.1

    1、 代码是集成很多库,JPEG库、BMB转YUV库、24位转256色库、YUV运动预测库,主题代码为大家都共用的ImageProcessing,在01_VC2005文件下面。 2、 本代码不适合于初学者,有些研究2D转3D功底的兄弟可以作为参考,...

    用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码

    用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码用C语言写的五子棋游戏代码...

    json转java源代码工具

    每次做android的时候都会有很多json数据,而且里面的属性还要一个一个写在类里面,很麻烦,然后做了这个json转java源代码的工具。 由于是java swing 写的,必须要java环境才能运行哦。 没有要资源分,免费下载。 ...

    CANoe写bootloader上位机代码.rar

    基于此,我愿和大家一起分享我以前写的代码,不是很完善,敬请大家见谅。有更优化的,请和我分享,谢谢! PS:和这个资源一样,只是原资源要50积分也太多了吧,一般用户根本下载不下来,所以我上传一个。

    java写的连连看游戏代码

    《Java实现连连看游戏代码详解》 连连看是一款广受欢迎的休闲益智游戏,它考验玩家的眼力和反应速度。本篇文章将详细解读一个用Java编程语言实现的连连看游戏代码,帮助读者理解其背后的逻辑和实现方式。由于Java...

    rgb转yuv420源代码(C语言)

    `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 17.10.2 (最新破解版 )

    C# To C++ Converter是一款将C#代码或者项目转换为C++的工具 转换所有版本的C#代码 许多转换和格式化选项 选项可用于C ++ 11输出 代表和事件从C#到C ++的优秀转换 操作符重载从C#到C ++的精确转换 评估所有引用...

Global site tag (gtag.js) - Google Analytics