`

如何做到每天写代码?

阅读更多

转自csdn

http://www.csdn.net/article/2014-04-11/2819256

如何做到每天写代码?

发表于2014-04-11 11:2623567次阅读| 来源Ejohn127 条评论| 作者John Resig

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

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

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

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

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

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

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

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

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

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

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

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

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

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

分享到:
评论

相关推荐

    每天写出好代码的5个建议

    ### 每天写出好代码的5个建议 在软件开发领域,编写高质量的代码是每个程序员追求的目标。良好的代码不仅能够提高程序的稳定性和可维护性,还能够提升团队的协作效率。以下是从给定文件中提炼出的五个关于如何每天...

    C#23种设计模式_示例源代码及PDF

    11、FLYWEIGHT —每天跟 MM 发短信,手指都累死了,最近买了个新手机,可以把一些常 、 用的句子存在手机里,要用的时候,直接拿出来,在前面加上 MM 的名字就可以发送了, 再 不用一个字一个字敲了。共享的句子就是...

    代码背后的点滴

    有段时间没有更新技术blog了,现在有空每天都写写围脖,记录生活和工作的点滴,但是有时候发现有些技术的想法和工作总结没有像过去那么完整的写很大一篇,但是也有零零散散的不少点滴,因此想着随意的写这么一个连续...

    互联网程序员都每天刷题嘛-MiaoshaSystem:我自己的代码天地

    互联网程序员都每天刷题嘛 秒杀系统项目整理 [TOC] 项目框架 可以改进成如此(网络) 秒杀系统抽象来说就是以下几个步骤: 用户选定商品下单 校验库存 扣库存 创建用户订单 用户支付等后续步骤… 整体思考 秒杀无外...

    返回时间区间 滑动选中区间 周期自定义 无加密 存手写 主要是丝滑,简单易懂,内置时间选择器 很多都是参数控制,做到几乎不用

    周期自定义功能则意味着用户可以自由设定时间间隔,例如每分钟、每小时或每天,满足不同场景的需求。 “无加密”意味着组件内部并未对数据进行加密处理,这可能是因为在时间选择这个功能上,数据通常不需要保密,但...

    ssh2(struts2+spring2.5+hibernate3.3)自动生成模版

    为什么需要自动生成代码? 作为一个软件公司,开发团队非常重要,作为一个开发团队,人员配备、开发效率等都非常重要,但是开发效率包含很多,如:代码质量(扩展性、重构性等),但是这些都是建立在规范的代码之上来进行,在...

    100daysofcode:这项挑战即将每天编码至少一个小时,持续100天。 #100daysofcode

    我还决定以自己的方式做到这一点:我可以每天学习与发展相关的主题。 有些人喜欢每天做一些小型项目,但是我正在尝试研究一个主题,并在必要时在代码中应用。 我只是想每天多学一点的人 ps:没有项目的日子,是...

    敏捷软件开发:原则、模式与实践(全)

    3. 测试驱动开发(TDD):先写测试,再写实现,确保代码质量。 4. 结对编程:两个程序员共享一个工作台,互相审查代码,提高代码质量。 5. 站会:每天团队成员分享进度和问题,保持沟通透明。 6. 用户故事:以用户的...

    leetcode答案-LeetCode-Trip:LeetCode刷题代码,大佬勿入

    真的该准备找工作了,一边准备竞赛,一边每天至少一道题,并直接写到README里。 此后超链接均指向原题目地址。 Easy [20. Valid Parentheses] [21. Merge Two Sorted Lists] [53. Maximum Subarray] [70. Climbing ...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    与Java和Perl不同,你不必把头埋进100多页的文档中努力学习才可以写出一个象样的程序。只要了解一些基本的语法和语言特色,你就可以开始你的PHP编码之旅了。之后你在编码过程中如果遇到了什么麻烦,还可以再去翻阅...

    互联网程序员都每天刷题嘛-mycrokernel:从code.google.com/p/mycrokernel自动导出

    互联网程序员都每天刷题嘛微内核 背景 大约 10 年前,我还在大学攻读语言学位并辅修计算机科学。 我已经完成了课程的 CS 部分,但想继续从事 CS,所以我决定现在做我个人最感兴趣的事情。 我一直很想知道计算机在...

    02 粗谈产品经理面试.docx

    产品经理是一个以软实力为主的岗位,不需要设计,不需要写代码,需要你干什么?心里必须有数。产品经理面试经常犯一个错误,就是认为问题没有标准答案,但实际上面试是一场考试,考试必定有高下,有高下就必定有标准...

    百度地图毕业设计源码-iOS-:各种好用的内容,快速开发使用

    当前移动互联网行业太火爆,移动端的需求日益增长,很多开发人员每天都应对着各种需求,作为一名iOS开发人员,对于需求来说,我们要做到的是实现,而对于自己来说,我们需要做到的是写出高质量的代码。 于是,全球的...

    backend-recruit-questions

    但每天都收到大量内容非常相似的简历,简历筛选让我们头痛不已,而软件工程师还是要靠代码说话的,所以不如看代码直接一些。 请完成以下函数,从一个列表中取得最大整型值: pulic static Integer getMaxValue( ...

    毕业设计基于SSM-Springboot的商城项目.zip

    # 已实现 (代码注释掉,根据自己需求增加) 增加支付功能,可以用支付宝当面付,入门门槛低 增加合作登陆,用QQ/微信/GITHUB等登陆,存储信息入库 增加数据分析,用Echart分析数据 部署采用docker和nginx做到...

    PERL语言编程

    当然就是那些你每天都要干的。你需要一种可以很容易操作数字,文本,文件和目录,计算机和网络,特别是程序的语言。这种语言应该很容易运行外部的程序并且扫描这些程序的输出获取感兴趣的东西。而且它还应该很容易能...

    游戏画面就弹出内存不能为read修复工具

    目前此方法亦是独步网络的(其码自己针对此问题查了许久),也是常见问题,原本几乎每天睡前关闭软件时一些程序都会发生...read... 现在就没发生了。 【文章二】 运行某些程序的时候,有时会出现内存错误的提示(0x...

    daily_improvement:争取做到每日提交。包含前端html css js go leetcode算法等

    理解并熟练运用这些新特性,可以写出更简洁、更高效的代码。 接下来是Go语言,一种由Google开发的静态类型编译型语言,以其简洁的语法、高效的性能和内置并发支持而受到欢迎。Go语言适合构建网络服务、微服务和后台...

    Total_Uninstall_6官方原版及破解相关100%成功

    打开“工具”-“选项”,来到“常规设置”,郁闷,“检查更新方式”和“频率”都是灰色不可选的,并且自动设成了自动升级和每天。 这也不难理解,官方总有它的措施。所以关键就在这里了:如何屏蔽它联网更新。我...

    leetcode题库-leetcode:我的leetcode做题记录

    目前为止解决了55题(2020-11-07),突发奇想想要通过记录到github来监督自己做题,并且方便日后对所做过的题的复盘,计划把以前做过的题写下题解,顺便回顾一下,还有每天做的题解都写下来,尽量做到图文并茂。...

Global site tag (gtag.js) - Google Analytics