jQuery之父:每天写代码

去年秋天我的支线代码项目遇到了一些问题,项目进展不足,而且我没法找到一个完成更多代码的方法。

我主要在周末进行我的支线,当然有时候也在晚上进行。这个方法对我而言效果不佳。我的压力太重了,我需要在周末努力完成尽可能多的工作(如果没做 到,我会为此感到挫败)。还有一个问题是我无法保证每个周末都有空,而且我也不想把周末所有的时间都花在编程上(失去一切放松娱乐的机会)。

此外,每隔一周进行编码的话,间隙太长了。太容易忘记你正在做什么,或者你还需要做什么了(即使你有笔记)。如果你错过了一个周末的话,问题就更严重了,间隔一下子变成两周了。多周的上下文切换可能是致命的(我有很多支线项目因为这类注意力缺乏而死亡了)。

Jennifer Dewalt 去年通过在 180 天创建 180 个网站的方式来自学编程,她的做法启发了我。我决定采用一个简单的策略:每天编码。可以500%提高开发效率的前端UI框架!

我决定为自己定下一些规则:

  1. 每天必须写代码。我可以写文档、写博客或者写其他东西,但是这些不能代替写代码。
  2. 代码必须是实际起作用的。调整缩进、重新排版不算。如果有可能,重构也不算。(可以进行这些事情,但这些不能是一天唯一的编码。)
  3. 所有代码必须在午夜之前完成。
  4. 代码必须是开源的,放在Github上。

有些规则比较武断。比如代码其实不用在午夜前写完的。但我担心熬夜导致代码质量下降。同样,代码也不用开源,或者放在GitHub上。我这么做是想强迫自己写代码的时候上点心(考虑可读性,同时较早地考虑模块化)。

到目前为止这个策略很有效。我基本保持了20周的连续工作。我之所以写这篇博客,正是因为它完全改变了我编写代码的方式,更重要的是影响了我生活和心智。

这个习惯的改变产生了一些有趣的结果:

最小可行的编码。 我强迫自己每天花不少于半个小时来写代码(如果少于这个时间就很难写出有价值的代码了,特别是回忆前一天写了什么还要花一点时间)。工作日的时候我有时写得多一点(一般不超过一个小时),周末我有时整天写代码。

写代码成为习惯。 值得一提的是我并不是特别在乎上面的Github图形。我觉得这是这个实验最值得借鉴的一点:这是你为自己做的一个改变,而不是为了满足别人对你工作的评价。节食和锻炼也是一个道理:如果你不在乎提升自己,那么你永远都不会取得成功。

与焦虑作斗争。 在开始这个实验之前,我时常为没有完成足够的工作或取得足够进展而感到焦虑(工作和进展都难以量化,因为我的支线项目没有死限)。我意识到,感觉到进展和
实际推进工作同样重要。这令我大开眼界。一旦我每天持续地推进项目,我的焦虑就开始消散了。我对自己的工作量很心安,我再也没有那种难以承受的渴望,想要 疾风骤雨式地推进项目的渴望。

周末。 以前,在周末完成工作绝对是前进的关键动力(因为通常而言这是我唯一大量推进支线项目工作的机会。)现在情况不一样了这是件好事。期望在一个周末完成 一周的所有工作只会让我失望。我极少很完成工作,因此为了完成更多工作而拒绝了其他喜欢的周末活动(例如吃
dim sum,参观博物馆,去公园游玩,陪伴我的伴侣等)。我深深地感到,虽然支线项目是非常重要的,但是它们不应该是生活的全部。可以500%提高开发效率的前端UI框架!

后台处理。 每天编写支线项目代码的一个有趣的副作用是你当前的任务时常在你大脑的后台运行。因此当我去散步或沐浴的时候,或者进行其他不费脑的活动的时候,我在思考
我接下来将做哪些编码,寻找解决问题的好方法。我以前一周或两周编码一次的时候可不是这样。当时时间被花费在思考其他一些事情上,通常是在为没法完成任何 支线项目而感到焦虑。

上下文切换。 拾起支线项目工作的时候总会有上下文开销的。很不幸,重拾整整一周前的思考是极其困难的。每天做一点对此很有帮助,因为间隔时间大大缩短了,让我很容易想起在做什么。

平衡工作。 这个改变最重要的方面之一是我已经简单地学会了如何更好地平衡工作、生活和支线项目。我知道自己每天都要做支线项目,因此我需要更好地管理时间。如果我计
划晚上出去,并且很晚才能回家,那么我需要在早上为支线项目工作,在开始为我主业Khan Academy工作之前。同样的,如果我在外面,而我还没有完成我的工作,时间已经很晚了,那么我需要尽快赶回家去完成工作(以免错过一天)。我需要指出 的是我发现自己把更少的时间花在爱好上了(例如木版画),但是这是一个合理的代价,我得接受这个。

对外沟通。 跟外界沟通自己的新习惯是很有好处的。我的伴侣理解每都必须完成工作,因此有活动安排有时需要据此作出调整。这样我就可以很方便地说:“是的,我们可以出去/看个电影/等等。但是我之后需要写代码。”我的伴侣会理解我,并在安排活动时考虑到这点。

我写了多少代码? 我很难相信自己在过去的几个月写了这么多的代码。我新建了几个网站,重写了一些框架,并创建了大量node模块。我写了如此之多的代码以至于我有时我都忘记自己做了写什么——几周前的工作感觉是很久远的记忆。我非常非常高兴自己能写这么多代码。

我认为这个习惯的改变是一个巨大的成功。我希望自己能持续保持这个习惯。同时,我尽力向其他希望能完成大量的支线项目的人推荐这个策略。告诉我这个策略对你而言是有效还是无效。我很希望能从你那里听到一些有意思的东西。

时间: 2024-10-12 16:44:00

jQuery之父:每天写代码的相关文章

jQuery之父:每天都写点代码

去年秋天,我的"兼职编程项目"遇到了一些问题:要不是从 Khan Academy 的项目里挪出时间来的话,我根本没办法将不理想的进度弥补上. 这些项目遇到了一些严重的问题.之前的工作我主要是在周末,有时是工作日的晚上做.但最终证明,这样的工作安排并不适合我.为了在周末尽可能地尝试完成高质量的工作,我压力巨大(如果我做不到的话,会有很深的挫败感).这样安排的问题在于周末并不一定都有空–而我也不想周末两天都在写代码(要牺牲掉所有的休闲和乐趣). 另外一个问题就是隔了一周这么长的时间之后,很

解析jquery获取父窗口的元素

("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID"): 取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document);类似的,取其它窗口的方法大同小异$(sele

jquery 获取父窗口的元素 父窗口 子窗口

$("#父窗口元素ID",window.parent.document);  对应javascript版本为window.parent.document.getElementByIdx_x("父窗口元素ID"):   取父窗口的元素方法:$(selector, window.parent.document);那么你取父窗口的父窗口的元素就可以用:$(selector, window.parent.parent.document); 类似的,取其它窗口的方法大同小异$

asp.net中iframe页面用jQuery向父页面传值

在asp.net页面有时一个页面会通过iframe嵌套另一个页面,下面的例子讲述的是被嵌套的iframe页面向父页传值的一种方式,用jQuery即可. iframe页面代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Iframe页面<

如何提高编程能力?写更多代码是最显著的方法,但是本文这一种与写代码完全相反,一起来看看吧

起初我是在2010年5月为Fuel Your Coding网站写的这篇文章.然后这个网站现在已经不存在了,为了让爱好编程的人们能够继续受益,所以在这里重新发表这篇文章.我考虑过是否要按照现如今的情况来对这篇文章进行修改,但是我认为它已经足够经得住检验了.只有少许的部分可能不尽人意.尽情的欣赏这篇文章吧. 正如每个人都知道的那样,写更多的代码是提高编程能力最显著方法.但是我所确信的另外一种可以提高编程能力的方法是与写代码完全相反的.我将要尽可能清楚的陈述这种方法. 只有大量的阅读别人的代码才能显著

不造个轮子,你还真以为你会写代码了?

作者:茄果链接:https://zhuanlan.zhihu.com/p/24435564来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 最近在琢磨Vue的实现原理,参照着Vue捣鼓了一个轮子,一个轻量的前端MVVM框架,Vue的绑定指令基本都实现了一遍.轮子姑且叫vueuv.js吧,GitHub:qieguo2016/Vueuv,欢迎围观上星星~~ MVVM原理实现非常巧妙,真心佩服作者的构思:编译部分没用源码的方式实现,自己捣鼓着实现的,过程真是既烧脑也获益良

Windows核心编程02-记事本写代码深入理解cl.exe和link.exe

接下来用记事本手写代码: 1,建一个空的记事本,敲入以下代码 #include "windows.h" int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine, int cmdShow) { MessageBox(NULL,"HelloWorld!","Info",MB_ABORTRETRYIGNORE|MB_ICONINFORMATION); return

《jQuery实战》 Jquery之父John Resig 推荐序言

大道至简.为什么创建简单的页面交互效果非要编写臃肿.复杂的代码呢?复杂性并不是开发Web应用的必须条件. 当初我创建jQuery项目时,决定简化Web开发者日常的编码工作.当阅读<jQuery实战>这本书时,我非常高兴地看到这本书深入.准确地介绍了jQuery框架的精髓. 对于像学习实际简化代码编写工作的人来说,<jQuery实战>确实是梦寐以求的学习资料. 最让我开心的是,本书中Bear和Yehuda非常详细地介绍了jQuery框架的内部机制原理.他们深入研究了jQuery AP

jQuery解决iframe高度自适应代码

网上查了好多用着都不行,自己搞定了:在包含iframe的页面中加入以下脚本,基本思想是在iframe加载内容后重新设置高度,下面代码尽在IE6中用过,没在其他浏览器中测试. 代码如下: <script type="text/javascript"> <!-- $( function() { //iframe高度随内容自动调整 $('.main').load( function() { $(this).height($(this).contents().find(&qu