所有漂亮的代码跑哪里去了?

转载 2006年06月12日 17:12:00
所有漂亮的代码跑哪里去了?


作者:cleverpig



正文:
06年5月9日在拉斯韦加斯举办了ServerSide Java 会议。会上,Gregor Hohpe对一位Java高手说,每个软件开发团队只雇佣最好的最优秀的程序员,这肯定是对的。Google公司软件架构师Hohpe问道:“又有哪家公司会说我们要雇用不聪明的工程师呢?”他认为不好的程序员肯定是在计算机科学领域中受罪。

不过,Hohpe质疑,假如所有的应用开发项目都使用首回合的草案,他如何才能发现代码中的缺陷。当他发现代码中存在“这是个错误”或者“需要进行核查”等注释时,他很不满意。最佳的最优秀的程序员怎么能够写出这样的代码和注释呢?

他一边不断重复着自己的关键词,一边问:“所有漂亮的代码跑哪里去了?”他用开玩笑的语气这样调侃软件开发:“大概是门卫在半夜进来把我们的代码搞得乱七八糟吧。”

就像Hohpe所见到的情况一样,代码很多时候是被很一般的可以防止的原因搞乱的。其中的首要原因就是拙劣的代码引起更多拙劣的代码。他的理论是,如果某个应用程序的最初的开发人员不自己的代码规划清晰,让任何程序员都可以理解,那么潘多拉的盒子就会被打开。

接下来的事情从开发人员编写代码开始,即使代码可以运行,但是代码本身是很难让其他程序员理解的。接着,在应用上马之后,某个程序员要做一年的维护。代码变成了一堆乱七八糟的东西。

所以,可能第二个做维护的程序员在修改时,会对自己说:“我只在这里添加我的代码。它不会坏到哪里去的。”

但经过上面这样的几轮修改后,原先由最优秀的人编写的特性代码,终于变得越来越糟糕。

他向出席ServerSide会议的听众提供了一些避免以上事情发生的几点建议。他说:“被强迫写出的代码不会好到哪里去。要让下一个人觉得你是在花大力气编写优雅的代码。”作为一个架构师,他首先要懂得建模对应用程序的价值。他说,这并不需要很复杂的建模工具,甚至在一张纸上的画模型都可以有很好的效果。

Hohpe反复强调程序员应该是为人写代码,而不是为机器写代码。他说:“要对人们交互行为进行建模。当涉及用户界面时,这一点尤其重要。”他建议向非程序员展示应用程序,来观察程序员对于程序工作的理解对于潜在的最终用户是否正确。

他提醒道,所谓的业务逻辑并非总是和程序员所想的一样。他说:“假如业务逻辑真的和程序员想的一样,那么就不会这么困难了。这也是为什么说找到最终用户究竟如何与应用程序交互非常重要的原因。”

他敦促Java程序员利用Java的经验来编写设计好的代码,让其他程序员觉得优雅。“为人而不是机器编写代码”是Hohpe思想的核心。他建议,如果程序员仅仅只为机器写代码,那么他们就不需要Java,他们可以回到汇编代码的时代。

参考资源:
Gregor Hohpe - Where Did All the Beautiful Code Go?在线视频

Hohpe - Where Did All the Beautiful Code Go?原文下载:[下载文件]

(该文转载自Matrix,原文地址:http://www.matrix.org.cn/resource/article/44/44414_beauty+code.html

Word中MathType菜单跑哪去了

一些用户朋友在使用word的过程中,发现自己突然找不到MathType公式编辑器菜单项了,而这个时候又急着编写公式,所以会特别的着急。下面我们就来针对这个问题好好的给大家分析一下,并提供解决方案。请关...
  • EducationSoft
  • EducationSoft
  • 2016年07月11日 10:50
  • 770

DIV+CSS关于浮动跑到上面的原因

今天,遇到了一个问题就是div地底部莫名其妙的跑到上面去了。 无标题文档 body{ text-align:center;} .top{ width:960px; height:100p...
  • yejin191258966
  • yejin191258966
  • 2014年01月19日 02:13
  • 5068

如何写出漂亮的代码 (转载)

要判断一个程序员是不是好的程序员,主要看他写的代码,因为程序员最重要的事是写代码。   即便不去理解代码的意图,只要看一眼,好的程序员写的代码与差的程序员写的代码基本上就可以看出来。好的程序员写的代码...
  • yaomoon
  • yaomoon
  • 2014年04月16日 18:24
  • 1333

我的代码哪去了?

/*** *errno.h - system wide error numbers (set by system calls) * * Copyright (c) 1985-1997...
  • u012368915
  • u012368915
  • 2013年10月15日 17:05
  • 674

把你的代码写得漂亮些

教你怎么写代码
  • taixinlfx
  • taixinlfx
  • 2014年03月20日 19:20
  • 1002

新手入门:web项目控制台显示信息教程(对于新手开发,本地测试都很有用)

web项目控制台显示信息教程(对于新手开发,本地测试都很有用) 效果如图显示: 环境 spring mvc 框架底下实现 (1)首先创建一个类代码如下: package com.wmc.web.in...
  • qq_38377190
  • qq_38377190
  • 2017年12月27日 13:25
  • 44

送给程序员:最好的编程名言

下面是一些迄今为止最好的关于编程的名言名句。阅读它们时相信你会有几分愉悦,你可以在一些会谈场合引用它们,一定能为你吸引到不少的好程序员朋友。 UNIX很简单。但需要有一定天赋的人才能理解这种简单...
  • deruiyu93
  • deruiyu93
  • 2014年01月15日 14:59
  • 482

扩展的validatebox校验规则跑哪里去了

在使用EasyUI的时候,有时我们要改动某个组件的源码,因为jquery.easyui.min.js体积庞大,且格式混乱,所以我们往往选择修改位于plugins目录下的单个组件源码,然后在使用的时候先...
  • wangshfa
  • wangshfa
  • 2014年09月24日 10:23
  • 1449

VC++ , MFC的Main函数跑哪去了 .

习惯的思维 用习惯了C的人要看一个程序时首先会想到找到那个main函数在哪,然后再顺着往下看.因为main函数作为程序的入口点,整个程序都是从那开始执行的.当在C++中SDK(win32 API p...
  • u010059658
  • u010059658
  • 2013年05月28日 16:25
  • 619

动态规划——漂亮打印问题

http://blog.csdn.net/tongjianfeng/article/details/5934598 漂亮打印问题:给定n个英文单词组成的一段文章,各单词的长度依次为 ,要在打印机上打...
  • u012507301
  • u012507301
  • 2016年05月13日 04:18
  • 1109
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:所有漂亮的代码跑哪里去了?
举报原因:
原因补充:

(最多只允许输入30个字)