`
zhb8015
  • 浏览: 408267 次
  • 性别: 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                                  

分享到:
评论

相关推荐

    C#代码项目转换VB.NET项目代码(可整个项目转换)

    当一个项目由C#编写,而团队或后续维护者更熟悉VB.NET时,进行代码转换就显得尤为必要。本篇将详细探讨如何将C#代码项目转换为VB.NET项目。 首先,C#和VB.NET都是Microsoft开发的,它们共享.NET Framework或.NET ...

    Java2Pas Java代码转pas代码

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

    快写代码编辑器

    快写代码编辑器 功能介绍 1、简洁的界面 2、用中文编写代码 3、中英代码互转 4、强大的自定义语法提示功能 使用说明 自定义语法: 1、函数提示 在 设置->系统词库 中设置 2、短语提示 在 设置->常用短语 中设置 3、...

    位图转g代码轮廓加工源码

    位图转g代码轮廓加工是计算机辅助制造(CAM)领域中的一个重要环节,它涉及到图像处理、几何算法和数控编程等多个技术领域。在这个过程中,我们通常会利用编程语言,如Python,来实现这一转换。给定的标题和描述指出...

    java转js工具

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

    WAV转换为C代码的小工具

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

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

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

    用C语言写的G代码读取程序

    ### G代码解析与C语言实现 #### 一、G代码简介 G代码是一种广泛应用于数控机床(CNC)编程的标准语言。它通过一系列指令来控制机器人的运动路径、速度和其他特性,是工业自动化领域的重要组成部分。G代码由一系列...

    OD汇编转易语言置入代码

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

    DXF轨迹图转G代码工具

    标题中的“DXF轨迹图转G代码工具”指的是一个能够将DXF文件转换为G代码的软件。DXF(Drawing Exchange Format)是Autodesk公司的AutoCAD软件用来交换图形数据的标准格式,广泛应用于工程和设计领域。G代码,又称机床...

    pcb雕刻软件 把pcb转成G代码

    pcb雕刻软件, 把pcb转成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环境才能运行哦。 没有要资源分,免费下载。 ...

    java写的连连看游戏代码

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

    软件著作权60页代码整理生成工具V2.3(转成word版)

    该软件能帮助程序员将代码直接整理组织成申请软件著作权所需的源代码文档,本文件整理代码并生成全部代码文档,开发者需要打印60页代码(前后各30页),提交软件著作权申请用,文档格式为Word版,需要付费注册,未...

    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++...

    将PCB的GERBER文件转换成G代码的利器---coppercam软件下载

    将PCB的GERBER文件转换成G代码的利器---coppercam软件下载

    自己动手写神经网络_源代码

    《自己动手写神经网络》是一本面向实践的书籍,旨在帮助读者深入理解神经网络的工作原理,并通过编写源代码实现自己的神经网络模型。源代码包含了多个关键的文件和目录,如`plot_func.sce`用于绘制函数图形,`...

    2进制与base64编码转换C代码

    需要一个二进制与BASE64相互转换的函数,从网上找了几个,或者是错的,或者不输出长度,待转的二进制串中有可能出现00截断,因此不能直接以strlen来计算长度,所以我引用网上的一个可用代码后加以修改,变成现在的...

Global site tag (gtag.js) - Google Analytics