程序员的纹身
From Evernote:
程序员的纹身
Clipped from: http://www.aqee.net/what-you-tattooed-code-on-your-arm/
www.aqee.net
国外IT时事,评论

程序员的纹身
本文是从 What? You tattooed code on your arm? 这篇文章翻译而来。
(function(){var k=[];return function j(){k.push(i);j();}})()();
这就是上周我在胳膊上刺的字。人们对这个纹身的反应先是不敢相信,后是觉得好笑,但我喜欢它。
为什么我会决定要让这样一段让人费解的JavaScript代码在我余下的一生中伴随在我的身体上?是这样,我想要一个只对我自己 有意义的纹身。我想要一个跟我的工作和兴趣有关的纹身:Web开发相关的。我希望这个纹身是与众不同的。
我简单的在Google上查了一下“程序员纹身”和“开发者纹身”,希望能得到一点灵感,但唯一能找到的是你肯定见到过的 图案(很妙的纹身):
设计独特
在互联网上一无所获后,我想到,与其找什么东西来表现我对编程的喜爱,不如直接用代码来表现我的思想。
所用的语言很显然应该是JavaScript。它是我使用时间最长的语言。JavaScript也是web开发的核心基础,就目前的开发趋势来看,这种现状在短时期内也不会有任何改变。还有,它是一个开放的标准,我坚信,整个互联网也都该这样。
那么,我用代码表现些什么呢?我想,这种代码应该是能提醒我在每天工作中、生活中都努力追求的一种什么样价值和态度的代码。
(function(){var k=[];return function j(){k.push(i);j();}})()();
这种代码结构被称作闭包(closure)。如果你不知道闭包是什么,这里有个资料你可以阅读一下:什么是闭包。简单说:它是一个能返回另一个函数的函数。被返回的函数里可以访问到其父函数的有效变量访问范围内的所有变量——就像是面向对象语言,例如C#或Java,里的私有内部类。我决定采用这种结构体有两个原因:首先,我感觉这个东西非常的漂亮,第二,我希望这种编码方式能被更多的接受、更多的使用。
(function(){var k=[];return function j(){k.push(i);j();}})()();
这个 数组k 代表知识和经验。
(function(){var k=[];return function j(){k.push(i);j();}})()();
闭包返回的函数 j 是递归调用的。这用来提醒我,我需要保持我的动力和干劲——我应该不断的追求。
(function(){var k=[];return function j(){k.push(i);j();}})()();
每一次的调用,函数 j 就会把全局变量 i 里的内容添加到内部的数组 k 里。眼尖的人会发现,这段代码没有做异常检查,如果变量 i 没有定义,这段代码会报错,递归函数 j 将运行不下去。这是故意的。变量 i 表示来自其他人的输入,我要提醒自己,应该不断的向周围的人寻求建议和忠告。我知道我不能在与世隔绝中成长,因此,不从他人那里收集经验将会带来灾难的后果。正如我上面提到的,数组k 表示知识和经验,这部分代码还让我记住,我要不断的从获得的输入信息中学到东西 。这并不是说我必须要接受和采纳所有收到的建议,我需要的是从中学到东西。即使不可用的建议也能让我们从忠告者身上学到很多事情。 
(function(){var k=[];return function j(){k.push(i);j();}})()();
闭包和返回的函数 j 都是自我调用的。这表示,代码会自我驱动运行:函数并不一定需要别人来驱动。这是在提醒我,在工作和生活中,我应该主动行动,不要依赖由外界压力的影响才去做新的事情。
于是,这个纹身就诞生了。每次看见我的胳膊,都会让我想起它赋予的对我、对编程有重要意义的涵义。
我很得意戴着这怪异的纹身
相关文章
分享


此条目发表在 幽默讽刺 分类目录,贴了 纹身, 闭包 标签。将 固定链接加入收藏夹。
《 程序员的纹身 》有 2 条评论
- Jruv 说:
很有创意,就是纹的字体太难看了
- 随卡卡 说:
有点不低调。
发表评论 取消回复
电子邮件地址不会被公开。 必填项已用 * 标注
姓名 *
电子邮件 *
站点
评论
您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
-
* [在新浪微博上关注我们](http://t.sina.com.cn/aqee) -
最受欢迎的文章(按评论)
- 程序员?还是小丑?
- 好的程序员做不出好的软件设计
- 为什么我辞职去创办一个科技公司
- 一个程序员怎么能做出这样的事情?
- 每个程序员都应该学习使用Python或Ruby
- 哪本书是对程序员最有影响、每个程序员都该阅读的书?
- Java 1.7 里有什么?
- Google把我儿子整哭了
- 一个老程序员的建议
- 你的编程语言能这样做吗?
- 计算机爱好者 VS. 程序员
- 一种境界
- 我6个月的学习编程经历:从”大齿怪“到“狂欢者”
- 为什么我要把公司做成扁平型
- 一次谷歌面试趣事
- 这是给开发者的弥天大谎还是至理名言?
- 我见过的最糟糕的程序代码
- 只要一个返回语句
- 谷歌如何测试软件 —— 第三部分
- 有多少开发人员是超过四十的?
- 我希望四年前就有人告诉我的事情
- 漫画:为什么搞计算机工作的人总是看上去很清闲
- 我听到过的最精彩的一个软件纠错故事
- 你第一要做的是开始去做
- 我的老公是个程序员
- 你的代码写的很烂
- 不要放弃你的梦想
- 真正的程序员,请你站出来
-
文章分类目录
-
专栏
-
本站虚拟主机提供商:
首页 - 全部文章 - 关于 - 联系我 - RSS订阅 - 邮件订阅
*[HTML]: HyperText Markup Language



