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