【测试调查】你是程序员还是程序设计师?

jopen 9年前

二十年前,顶尖的程序员能将一个完整的应用放到一个64KB大小的.COM文件里。这是他们对可怜的因特尔80386电脑在编程上进行的最大挖掘。

这是因为,二十年前,电脑昂贵而程序员便宜。那是一个“电脑为先”的时代。那个时代已经过去。那种理念已经不再有人欣赏,因为如今的市场形势发生了完全的颠覆。

如今,计算机便宜而程序员昂贵。这是一个“程序员为先”的年代,不再需要考虑计算机的能力和限制,程序员的因素放到了第一位。

程序员思维

属于程序员思维的人会认为下面这个用Java实现 斐波那契数列(Fibonacci)的方法“写的很优雅”(你认为呢?):

【测试调查】你是程序员还是程序设计师?

一个典型具有“程序员思维”的程序员的特征包括:

  • 喜欢使用最先进、最新奇的技术

  • 将其人分类对待(程序员,菜鸟,文档编写员)

  • 讨厌制度、约束和标准

  • 不写单元测试——让低级程序员去写

  • 喜欢当消防队员——这是能显示他们才能的时候

  • 喜欢口述而不是写文档

  • 讨厌别人修改自己的代码

  • 喜欢一个时间里只把精力放在一个项目上

程序员是有天份的一群人。他们喜欢用写软件来表达他们的天份。他们享受编程,在编程中乐趣无穷。当你问一个程序员——“别人如何知道这段代码是干什么的?”你通常听到的回答都是一样的“——”问我就行了!“

程序设计师思维

具有程序设计师思维的程序员会重构上面的代码,让它们更易读。他会认为下面的这版Java代码”更优雅“(你觉得呢?):

【测试调查】你是程序员还是程序设计师?

一个具有”程序设计师思维“的程序员表现出下列特征:

  • 保守,喜欢使用传统的编程技术方法

  • 会先假定其他人都是新手

  • 喜欢设立和遵守规则

  • 喜欢文档而不是口述

  • 在单元测试上花大量时间

  • 不喜欢突遇紧急情况

  • 乐于看到自己的代码被修改和重构

  • 同时参与多个项目

程序设计师们是天才的团队合作者。他们关心团队合作、制度、培训和纪律,认为这些和代码同等重要。他们会保证当自己不在时其他人能轻松的接手他的代码。程序设计师最乐意看到的事情是自己写的代码能自主生存——被修改、改进、重构,直至退休。

那么问题来了,你到底是程序员,还是程序设计师呢?

本文转载自: 外刊IT评论 http://www.vaikan.com/