【测试调查】你是程序员还是程序设计师?
二十年前,顶尖的程序员能将一个完整的应用放到一个64KB大小的.COM
文件里。这是他们对可怜的因特尔80386电脑在编程上进行的最大挖掘。
这是因为,二十年前,电脑昂贵而程序员便宜。那是一个“电脑为先”的时代。那个时代已经过去。那种理念已经不再有人欣赏,因为如今的市场形势发生了完全的颠覆。
如今,计算机便宜而程序员昂贵。这是一个“程序员为先”的年代,不再需要考虑计算机的能力和限制,程序员的因素放到了第一位。
程序员思维
属于程序员思维的人会认为下面这个用Java实现 斐波那契数列(Fibonacci)的方法“写的很优雅”(你认为呢?):
一个典型具有“程序员思维”的程序员的特征包括:
-
喜欢使用最先进、最新奇的技术
-
将其人分类对待(程序员,菜鸟,文档编写员)
-
讨厌制度、约束和标准
-
不写单元测试——让低级程序员去写
-
喜欢当消防队员——这是能显示他们才能的时候
-
喜欢口述而不是写文档
-
讨厌别人修改自己的代码
-
喜欢一个时间里只把精力放在一个项目上
程序员是有天份的一群人。他们喜欢用写软件来表达他们的天份。他们享受编程,在编程中乐趣无穷。当你问一个程序员——“别人如何知道这段代码是干什么的?”你通常听到的回答都是一样的“——”问我就行了!“
程序设计师思维
具有程序设计师思维的程序员会重构上面的代码,让它们更易读。他会认为下面的这版Java代码”更优雅“(你觉得呢?):
一个具有”程序设计师思维“的程序员表现出下列特征:
-
保守,喜欢使用传统的编程技术方法
-
会先假定其他人都是新手
-
喜欢设立和遵守规则
-
喜欢文档而不是口述
-
在单元测试上花大量时间
-
不喜欢突遇紧急情况
-
乐于看到自己的代码被修改和重构
-
同时参与多个项目
程序设计师们是天才的团队合作者。他们关心团队合作、制度、培训和纪律,认为这些和代码同等重要。他们会保证当自己不在时其他人能轻松的接手他的代码。程序设计师最乐意看到的事情是自己写的代码能自主生存——被修改、改进、重构,直至退休。
那么问题来了,你到底是程序员,还是程序设计师呢?
外刊IT评论 http://www.vaikan.com/