在知道回调函数是什么之前,MichelleBu制作了她的第一个网页。他在个人博客上分享了这段有趣的经历。米歇尔有在笔记本上涂鸦的习惯。在一次暑假旅行中,他画了一系列三角形,觉得很酷。然后他决定把它做成一个网页,也许是为了让自己在Tumblr上看起来很酷。他开始向学计算机的朋友征求意见。他们的建议可以用一句话来概括:“GoGoogleit”。当他说他找不到答案时,一位朋友告诉他谷歌“CSS三角形”。“抱歉……CSS与三角形有什么关系?”谈话通常会突然结束,或者“CSS只是意味着你设计HTML样式”。每一次谈话都让他感到无能。尽管如此,他还是找到了一种使用div和一些CSS代码制作三角形的方法。原始代码如下所示:165行这样的代码继续。然后,他了解到有一种叫做jQuery的东西可以使用一种叫做“Animate”的API来改变三角形的属性。例如,如果你使用$('#something').animate({'opacity':'0'}),你可以让某个三角形消失。他想到的是,如果要让20行三角形依次消失,就需要20行相同的代码。因此,他将jQuery中的代码粘贴到他的JavaScript文件中。后来的代码变成了这样:他欣喜地发现代码起作用了,三角形如他想象的那样消失又重新出现。他向一位真正的软件工程师展示了代码。没想到工程师并没有嘲笑他,“没有程序员会做这种事。”然后,工程师说,“没有人会写那样的代码,因为他们没有耐心”。这逐渐变成了一个愚蠢的破冰船,“嘿,你花了两个小时在CoffeeScript中修复空白吗?看看我,花了一天写了21层函数和200行相同的HTML。“现在Michelle从Berkeley毕业,恐怕他不会再写代码了。不过,他认为他从这件事中学到了一个道理。编程很难,不要因为你不如你周围的人“谷歌它”并感到难过。永远不要让黑客马拉松的势利小人阻止你为猫做Twitter或为公共厕所做Yelp。即使是最愚蠢的想法(比如试图制作一个消失和重新出现的几何动画)也可以改善你的编程技能。学习编程更多的是学习-最好的学习方法是“做”。归根结底,成为一名合格的程序员不仅仅是你赢得了多少黑客马拉松,或者有多少新技巧你想出了,但执行力,对细节的关注,不妥协的专注,以及建立和破坏的热情。如果你对自己的代码感到害羞,我同意你在我制作三角形时嘲笑我第21层回调函数。原创正文链接:http://www.ifanr.com/269922
