编程的艺术:漂亮的代码和漂亮的软件.docVIP

编程的艺术:漂亮的代码和漂亮的软件.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
编程的艺术:漂亮的代码和漂亮的软件.doc

编程的艺术:漂亮的代码和漂亮的软件 作者: Victoria??发布时间: 2012-02-22 13:20??阅读: 2875 次?? 全屏阅读  [收藏]??   英文原文:Beautiful Code and Beautiful Software   译者:legendsland   2007-10-29   编程很有意思,是因为我可以做一些很酷的东西,但是实际上让我着迷的却是那一行行代码的语法和语义。保持对好代码和坏代码之间差异的敏感相当激励人,同时,去寻找编写高效、自文档化和经过深思熟虑良好组织的代码的方法将会永远吸引着我。这便是我对所在领域钟爱的原因 —— 编程的艺术 —— 这种奇妙的复杂物(complex craft)将会让你花费一生的时间去成为大师。   续Ruby之后,我学习了Java和Objective-C,我开始享受到底层软件开发的乐趣。我是在一个讨厌繁缛语言开发的社区(Rails社区)成长起来的,但是当我第一次接触这类语言之后,发现我喜欢上了它们。它们(和Ruby比较起来)是不同的语言,但仍然具有它们特有的乐趣。以Java 里面的for循环为例,当以我的高级程序语言的背景,编写了一些这样的基础代码后,发现这种代码可以更好地帮助我理解面向对象的一些实践,但同时我也对for循环本身产生了兴趣。这不仅仅是优美的语言吸引了我,也是语法背后的逻辑和不同语法形式让我着迷。计算机语言,以及它们之间的差异,本身就极具魅力。   当这学期我在学校学汇编语言的时候,获得了相同的满足感。汇编很繁琐,有时相当痛苦,但是让我去思考使用这种新的方式去实现基本的程序功能,跟痛苦相比,是完全值得的。当然,意识到自己编写的代码如此底层,也让我享受到了极客(Geek)的快感。   情况变得更糟了!在今年的早些时候,当我读到Wolf的程序员不喜欢编码时,我经历了一个很不错的自我发现过程。我确实是喜欢在编码过程中解决问题,进行优雅地创造,以及通过编码来学习,但实际上我意识到我也是因为喜欢编码而编码。至少,这就是我享受CSS和XHTML的方式。我拥有大量的Web前端开发经验,并且最近没怎么碰到新的问题(事实上,难搞的问题和我从没有见过的Bug会让我异常兴奋)。尽管如此,我仍然喜欢这些东西。比如,整理一下我完全理解的代码让它变得好看点,就像是在我的笔记本上重复地画一些卡通猫,或者是坐在钢琴前重复地弹三个相同的音调一样,这让我感到放松。甚至仅仅去阅读漂亮的CSS(我自己写的CSS),上面每一样东西都整齐有序、缩进良好,并且进行了正确的层叠(CSS里面很重要的一种技术)而感到心情舒畅;相反,当我看到某些论坛的样式表里面混乱的缩进、多余的空行、被注掉的一些老代码,以及通过故意使用错误的属性名来屏蔽掉的样式的时候,我感到难受,就像是生病了一样。   当你可以如此轻易地被激起兴趣 ,就是上面这个结果。仅仅是墙上的影子就足够让你继续生活下去(译注:看来,她对柏拉图很有兴趣)。你得不断地重新审视自己的敏感度,以便让你的声色品味与你口袋里的钞票相匹配。(你对代码或者软件的品味来自于你自己的能力水平)   这样来讲吧,这些天我一直在思考(整个)软件开发中的软件部分。特别是软件中的用户界面设计。今年在BARcamp,我喜欢Aza Raskin的一个实验,他让所有的开发人员举起手,然后是设计人员,接着他说那些第一次举手的人在第二次也应该举手。所有的开发人员必须是设计人员。至少,幸运的是,所有的开发人员在他们的工作中可以对软件设计发表自己的意见。   我越来越对软件开发中设计部分的重要性感到兴奋,尤其是当我反思我对过去所做的事情在不同方面的热情与心得的时候。在Web应用领域,开发和设计一般是分离的。有时候,设计部分的工作在项目中被最少化了,这是因为客户是为软件的特性买单,而不会为漂亮的设计付帐。在一个项目中,我同时扮演了开发和设计的角色,回想起来,我对只分配了两天时间来完成可视化的设计感到耿耿于怀。这决不是两天的事情。这是一个很复杂的应用软件,需要花上几周的时间与客户交流和迭代设计。不幸的是,客户并不会因此而买单。相反,客户对我花了几个小时的原型感到无比满意,就这样,我们有了这个产品的第一个版本。   在今年的C4上我有了另一次觉悟。好像很多Mac下的开发人员都在(私下)做自己的产品。这样,他们真的必须既是设计师又是开发人员。事实上,设计是最重要的部分,并且用户体验和制造了不起的产品看起来要比代码本身更具有热情。在C4的一个晚上,有人在向我描述他的工作的时候,无意中帮助我看到了这一点:编码这个基本要素是最容易的部分。那仅仅需要几周而已。真正困难和耗费时间的是搞定UI的规格。   哇噢,我在想,为什么这看起来如此正确?为什么对我而言是这么的酷?哦,是的,那是因为我是从设

文档评论(0)

dzzj200808 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档