如何做到每天写代码?

摘要:总有一大堆事情没有做完,没有时间和精力为业余项目写代码?不要着急,看看可汗学院计算机科学院院长John Resig怎么说。本文将教你如何保证在每天都能有时间给业余项目写代码。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

文章主要来源: Ejohn                   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448435.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue 实现前后端分离项目

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 Vue实现前后端分离项目的初体验 经过之前学习的Vue的知识: vue基本指令vue组件vue-resourcevue路由 其实我们已经可以开始…

优秀Unix管理员的七个习惯

摘要:Unix系统管理员可能会很懒或喜欢优雅的解决方法,这就是他们的存在之美。一位优秀的Unix系统管理员有着自己的习惯:不会等到问题来找你、精通所使用的工具和系统、确定事情优先次序和喜欢优雅的解决方案但不迷失等。 优秀的Unix系统管理员…

Vue.js 极简小例:读值、样式调用、if判断、a 标签、点击事件、管道

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 写法&#xff1a; <template><div id"app"><!-- 三目运算符使用 ‘ok’ 的值定义在 data 中-->{{ ok …

C++与C中const的比较以及const和define的比较

C与C中const的比较&#xff1a; C语言中 const修饰的变量是一个 常变量&#xff0c;本质还是变量&#xff0c;有自己的地址空间C编译器对const常量的处理 当碰见常量声明时&#xff0c;在符号表中放入常量 > 问题&#xff1a;那又如何解释取地址编译过程中若发现对const使…

Vue.js 极简小例:数值计算、千米换算为米、九九乘法表、循环

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div id"app"><!-- 千米和米换算 --><div id "computed_props&quo…

C++之内联函数

内联函数是一种特殊的函数&#xff0c;具有普通函数的特征&#xff08;参数检查&#xff0c;返回类型等&#xff09; 内联函数是对编译器的一种请求&#xff0c;因此编译器可能拒绝这种请求 内联函数由 编译器处理&#xff0c;直接将编译后的函数体插入调用的地方 宏代码片段…

Vue.js 极简小例: 4 种方式样式绑定、style 的多种方式实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div id"app"><!-- JSON方式使用样式 --><div v-bind:style"{ colo…

50 Python - 装饰器 类定义装饰器

04 类定义装饰器 上节通过函数定义装饰器&#xff0c;本节通过类定义装饰器 001 定义类装饰器 定义一个类&#xff0c;类里面两个函数&#xff0c;一个构造函数init()&#xff0c;一个调用函数call() 构造函数init时候&#xff0c;传递一个函数func()进来 调用函数call()&#…

Vue.js 极简小例: 点击事件

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div> <!-- jy_mothed 是在 js 中自定义的方法 --><button v-on:click"jy_mot…

APU(美国AMD公司研发的加速处理器)

APU(Accelerated Processing Unit)中文名字叫加速处理器&#xff0c;是AMD“融聚未来”理念的产品&#xff0c;它第一次将中央处理器和独显核心做在一个晶片上&#xff0c;它同时具有高性能处理器和最新独立显卡的处理性能&#xff0c;支持DX11游戏和最新应用的“加速运算”&am…

根本不值得一提的乒乓球国手王浩

最近在看世界乒乓球锦标赛&#xff0c;关于王浩&#xff0c;很多人都说他的技术开创了一个时代&#xff0c;而事实是王浩没有夺过任何世界性大的赛事的单打冠军&#xff0c;我所说的世界性的赛事包括&#xff1a;世界乒乓球锦标赛,奥运会&#xff0c;世界杯&#xff0c;国际乒联…

Vue.js 极简小例:表单 (输入框 input、文本域 textarea、单选框 radio、下拉菜单 selected、复选框 checkbox)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template> <div > <p>---------------------------------------------------------------------…

显卡常识 电脑显卡基础知识普及

我们组装电脑的时候肯定需要考虑到显卡性能&#xff0c;如果电脑配置中的显卡性能不行&#xff0c;那么电脑肯定玩不了大型游戏。可能一些新电脑用户对显卡一点也不了解&#xff0c;我们下面来详细介绍一下电脑显卡的基础知识。 一、显卡简介 显卡是个人电脑最基本组成部分之一…

解决: Cannot find module ‘webpack-cli/bin/config-yargs‘、Error: Cannot find module ‘webpack-cli‘

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 npm 、cnpm 、node、vue 全都装上了&#xff0c;就是 webpack 装不上&#xff01;&#xff01; 最后我把整个服务器还原为初始设置了&…

路由器和交换机的区别详解

很多人对路由器和交换机混为一谈&#xff0c;甚至搞不清楚路由器和交换机有什么区别&#xff0c;有的用户还认为是一样的功能&#xff0c;看名字就知道是两种不同的产品&#xff0c;功能虽然有些类似&#xff0c;但绝对不会完全相同&#xff0c;否则就没有必要用两个全面不同的…

最简单、图解:阿里云服务器上装 Docker 、 CentOS上 docker安装(3分钟装完)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 // 为了装 vue 的 webpack &#xff0c;我把整个服务器重置了。docker 也没有了&#xff0c;只好重新装 docker ... 1. 准备工作 yum …

C++之对象的动态建立和释放

new和delete的用法&#xff1a; 1&#xff09;在软件开发过程中&#xff0c;常常需要动态地分配和撤销内存空间&#xff0c;例如对动态链表中结点的插入与删除。在C语言中是利用库函数malloc和free来分配和撤销内存空间的。C提供了较简便而功能较强的运算符new和delete来取代m…

gpu简介

GPU英文全称Graphic Processing Unit&#xff0c;中文翻译为“图形处理器”。GPU是相对于CPU的一个概念&#xff0c;由于在现代的计算机中&#xff08;特别是家用系统&#xff0c;游戏的发烧友&#xff09;图形的处理变得越来越重要&#xff0c;需要一个专门的图形的核心处理器…

WM有约(五):部署应用程序

WM有约&#xff08;五&#xff09;&#xff1a;部署应用程序 Written by Allen Lee 创建安装包 创建一个新的项目&#xff0c;用来部署Windows Mobile应用程序的项目模板是Other Project Types\Setup and Deployment下的Smart Device CAB Project&#xff1a; 图 1 输入项…