二十年前,顶尖的程序员能将一个完整的应用放到一个64KB大小的.COM
文件里。这是他们对可怜的因特尔80386电脑在编程上进行的最大挖掘。
这是因为,二十年前,电脑昂贵而程序员便宜。那是一个“电脑为先”的时代。那个时代已经过去。那种理念已经不再有人欣赏,因为如今的市场形势发生了完全的颠覆。
如今,计算机便宜而程序员昂贵。这是一个“程序员为先”的年代,不再需要考虑计算机的能力和限制,程序员的因素放到了第一位。
程序员思维
属于程序员思维的人会认为下面这个用Java实现 斐波那契数列(Fibonacci)的方法“写的很优雅”(你认为呢?):
一个典型具有“程序员思维”的程序员的特征包括:
-
喜欢使用最先进、最新奇的技术
-
将其人分类对待(程序员,菜鸟,文档编写员)
-
讨厌制度、约束和标准
-
不写单元测试——让低级程序员去写
-
喜欢当消防队员——这是能显示他们才能的时候
-
喜欢口述而不是写文档
-
讨厌别人修改自己的代码
-
喜欢一个时间里只把精力放在一个项目上
程序员是有天份的一群人。他们喜欢用写软件来表达他们的天份。他们享受编程,在编程中乐趣无穷。当你问一个程序员——“别人如何知道这段代码是干什么的?”你通常听到的回答都是一样的“——”问我就行了!“
程序设计师思维
具有程序设计师思维的程序员会重构上面的代码,让它们更易读。他会认为下面的这版Java代码”更优雅“(你觉得呢?):
一个具有”程序设计师思维“的程序员表现出下列特征:
-
保守,喜欢使用传统的编程技术方法
-
会先假定其他人都是新手
-
喜欢设立和遵守规则
-
喜欢文档而不是口述
-
在单元测试上花大量时间
-
不喜欢突遇紧急情况
-
乐于看到自己的代码被修改和重构
-
同时参与多个项目
程序设计师们是天才的团队合作者。他们关心团队合作、制度、培训和纪律,认为这些和代码同等重要。他们会保证当自己不在时其他人能轻松的接手他的代码。程序设计师最乐意看到的事情是自己写的代码能自主生存——被修改、改进、重构,直至退休。
那么问题来了,你到底是程序员,还是程序设计师呢?
外刊IT评论 http://www.vaikan.com/
相关推荐
- 根据设计师提供的页面设计方案,实现网站的动态交互功能及项目软件的开发工作。 - 与设计师紧密合作,确保网页具备优质的用户体验。 #### 岗位工作职责 - **负责集团下属医院网站的开发设计及应用维护工作**:...
要有架构师、开发经理、测试经理、程序员、测试员。我在里面主要是负责所分到的模块执行测试用例。 知识点:软件开发、测试过程、角色负责、测试员 11. 根据你的经验说说你对软件测试/质量保证的理解? 软件质量...
在软件项目团队中,通常包括项目组长、界面设计师、架构分析师、DBA、程序员、测试员等角色。每个角色都有其特定的责任和义务,以下是对每个角色的一些解释: 1. 项目组长:负责整个项目的进度和质量,管理整个项目...
7. **软件开发与测试过程**:软件开发通常包括架构师、开发经理、测试经理、程序员和测试员等角色。测试员负责执行测试用例,验证软件模块的功能。 8. **软件测试/质量保证理解**:软件测试和质量保证是根据规格...
12. **软件测试流程**:包括需求调查、测试准备、测试设计、测试实施和测试评估等步骤,确保测试的全面性和有效性。 13. **SQA职责和工作活动**:SQA独立于开发团队,负责流程监控、评审、审计和度量,以确保软件...
8. **软件开发与测试过程**:涉及架构师、开发经理、测试经理、程序员和测试员等角色。测试员主要负责执行分配的测试用例。 9. **软件测试/质量保证的理解**:软件测试是对功能、语言有效性和外观的测试,质量保证...
10. **软件开发过程**:包括架构师、开发经理、测试经理、程序员和测试员等多个角色,测试员主要负责执行测试用例。 11. **软件测试/质量保证理解**:测试是根据规格设计测试用例,运行程序以发现错误。质量保证...
6. **软件开发和测试过程**:通常涉及架构师、开发经理、测试经理、程序员和测试员等角色。测试员负责执行分配的测试用例。 7. **软件测试/质量保证的理解**:软件测试是通过运行测试用例来检查程序的功能、正确性...
### 高级软件设计师之软件工程笔记 #### 一、软件生存周期 软件生存周期是软件从构思到最终退役的整个生命周期的过程。它通常被划分为六个主要阶段: 1. **软件项目计划**:在此阶段,团队需要明确项目的目标、...
初级程序员是软件开发的基础,他们负责程序的设计和编码,通常分为程序设计人员和程序编码员。在实际工作中,初级程序员需要与项目经理密切合作,进行软件的详细设计、编码、内部测试,并承担小型项目的系统分析工作...
项目组通常由项目负责人、系统分析师、系统设计师、程序员和测试人员等组成,形成层次分明的组织结构。项目负责人拥有决策权,对项目成败负责,需要具备丰富的项目管理和数据库设计经验。系统分析师协助项目负责人...
本题中甲程序员为乙软件设计师开发的应用软件编写了操作说明书,但著作权通常归软件的实际开发者所有,即乙软件设计师。 ### 15. 数字信封技术的作用 - **知识点:**数字信封技术的作用。 - **详细说明:**数字...
软件设计师则需要根据项目管理和软件工程要求进行系统设计,编写相关文档,并指导程序员进行编码、调试和测试,确保开发出符合设计要求的高质量软件。他们需要具备工程师级别的实际工作能力和业务水平。 网络管理员...
10. **软件开发测试过程**:涉及架构师、开发经理、测试经理、程序员和测试员等角色,测试员负责执行测试用例。 11. **软件测试/质量保证理解**:软件测试是根据规格说明和程序结构设计测试用例,以检查功能、语言...
6. **程序员**:按照设计要求编程。 7. **测试人员**:执行不同层次的测试(单元测试、集成测试)。 8. **文档人员**:撰写项目相关文档。 9. **产品经理**:参与产品策划、发布和维护。 【项目流程】 1. **可行性...
在设计APP产品时,设计师应从心理学的角度分析用户的需求与操作方式,对APP产品的设计过程进行深入研究,使APP产品最大限度地适用于目标用户。同时,注重情感设计,通过研究用户的行为与情感、认知与情感、情绪与...