许多程序员认为其工作任务只是负责后台逻辑的程序开发,对界面的布局莫不关心。实际上评价一个程序员的优秀与否,是要从界面和业务逻辑两方面来衡量的。杂乱无章的界面布局,只会给人留下“三流程序员”的印象。涂雅在下文中通过一个小项目为我们讲解怎样才算一个优秀、有想法的程序员,才能坐上产品经理或项目经理的交接椅。请见下文:
先做一个实验,假如我们要开发一个小项目,需求很简单,就是一个保存用户基本信息的页面,要求用户可以输入姓名、电话、联系地址、邮箱、手机号码、备注,其中姓名与邮箱是必输项目,我们把这个项目分给三个程序员做(当然这三个人都是虚拟的,其实都是我做的),三个程序员交来的作品都没有逻辑错误,数据保存正常,让我们看看做出来的效果有什么不一样。
第一个程序员交上来的作品,这种作品我们基本上可以理解为实习生做的作品,许多有两年甚至更长开发经验的开发人员,也会开发出这种作品,不要笑,我甚至见过还比这种作品更烂的作品。如果一个程序有超过一年的工作经验还提交这种作品,基本上没戏了,因为这类程序员不会自己思考。不要和我较真,那种从来不与界面打交道的程序员另当别论了。
许多程序员的理解是数据进到数据库,逻辑上没有错误注完成了。所以一般来说,让一个程序员评估一件工作的工作量,你需要在他评估的工作量上再增加100%。第一个程序员交的作品如下图所示:
第二个程序员交上来的作品可以算得上是一个合格的作品,中规中矩,没什么太大的亮点。与第一个程序员不同的是:
1.他给网页加上了标题信息;
2.他给每一行标题(就是姓名/邮臬等信息)设置了加粗并添加了背景颜色;
3.给必输项加入红色的*号进行标注;
4.他把默认的提交按钮文字改为保存,并没有使用默认的提交字样;
5.给表格加了连线,这样看起会舒服一些(这项见仁见智);
6.为输入框设置了最大可输入长度;
再来看第三个程序员提交的作品,第三个程序员在第二个程序员的基础之上又做了一些改进,除了第二程序员所做的事情,他还做了这些事:
1.添加了水印备注,让用户更能了解输入框的作用(当然这里只是做了一个示例,实际上姓名的水印是没有必要的);
2.当输入框获得焦点的时候,背景会变颜色,以提醒用户
3.当用户输入正确的时候,会在后面出现绿色的勾,如果输入错误,则会在输入框后面出现红色的叉
许多的程序员都有这样的想法,我就是一个程序员,我只负责程序的逻辑上没有错误,例如说数据正常插入到数据库,至于界面的事,应该由美工负责。实际上在大多数项目中,并没有太多复杂的逻辑。一个程序员可以不用管界面是否漂亮,但是一定要把界面弄得很整洁,不要把一大堆控件搞得乱糟糟的。其实你并不需要花太多的时间来处理这些界面,而是你要花些心思在上面,多注意几次就好了。
例如在上面示例的Web程序中,CSS代码非常简单,但给人的感觉很简洁,最起码看起来不会太难受。而第三个程序员所提交的作品,除了页面整洁之外,他还注意到用户的体验,这是很难能可贵的。如果一个程序员在写程序的时候能时时想到用户体验,那么应该离他升职的时间应该不会太远了。如果你能做到文中提到的第三个程序员的程度,我认为你已经摸到了产品经理或者项目经理的凳子了。
写程序并不是别人让写什么就写什么,应该有一些自己的想法,如果你一直像第一个程序员那样写程序,你将永远是一个三流的程序员。不要像一个鼠标一样,别人拽一下动一下,应该和病毒一样主动出击。在有限的时候里把程序做得最好,无论是界面上还是业务逻辑上.
原文来自涂雅技术论坛
原文链接:http://iove.net/2679/
分享到:
相关推荐
影响程序员思想 很深远的一本经典著作影响程序员思想 很深远的一本经典著作
这篇文章是关于一个老程序员的历程,反映了他在编程领域不断学习和成长的过程,以及他在社会中找工作的艰辛。文章提到了VB程序员的三个境界,分别对应编程能力的不同阶段: 1. 菜鸟级:所有代码都只放在窗体文件中...
总的来说,这个压缩包集合了编程理论、实践经验、设计原则和技巧,对于想要提升编程思想的程序员来说,是一份宝贵的参考资料。通过学习这些书籍,开发者可以更好地理解和应用程序设计思想,从而提高自己在软件开发...
例如,作者在困难时期仍资助贫困学生,通过实际行动展现了一个真实、正直、优秀的科技人员形象,这对读者有着深远的启示作用。 软件工程的核心在于通过工程化的方法来解决软件开发中的问题,避免“软件危机”。自...
程序员的职业生涯是一个漫长的旅程,需要不断学习和提高自己的技术。但是,作为一名程序员,你需要知道自己是否适合这个职业。下面是程序员的一生中需要注意的几个方面: 1. 程序员意味着要编程序 作为一名程序员...
一个好的程序员不仅需要技术能力,还需要与人沟通和理解客户需求的能力。从提供的文章内容来看,程序员对开发工作的思考主要涉及以下几个方面: 1. 深层挖掘客户需求:程序员不应仅限于完成任务本身,而应该深入...
叫你如何做一个程序员,作为一个程序员应该养成怎么样的习惯,应该培养怎么养的编程思想!
### 成为一个好的程序员需要的书籍 对于任何想要在IT领域取得成功的人来说,了解并掌握正确的学习资源至关重要。本文将根据给定的文件信息,详细解析成为一名优秀程序员所必需的书籍和资源。 #### 编程书籍 1. **...
而程序员的年龄与学习能力之间的关系是一个被广泛讨论的话题,文档认为一个拥有扎实基础和强烈学习意愿的程序员,能够适应技术变革,持续保持竞争力。同时,文档也提到了一个有趣的现象,即随着时间的推移,认为...
《软件工程思想》这本书深入浅出地探讨了软件开发的本质和程序员的职业之道,为我们揭示了在信息技术领域中,如何高效、有质量地进行软件开发,以及如何成为一名优秀的程序员。书中的内容不仅涵盖了软件工程的基本...
### 一个Java程序员应该掌握的10项技能详解 #### 1. 语法 作为Java程序员,必须熟悉Java语言的基本语法。在实际编程过程中,能够根据集成开发环境(IDE)提供的错误提示信息迅速识别出语法错误,并且知道如何进行...
此外,遵循“10秒法则”是另一个核心原则。编写代码时,应确保他人能在10秒钟内理解函数的逻辑,这样可以确保代码的简洁性和易维护性。这并不意味着追求复杂性,反而,简单的代码更有利于扩展和长期维护。 对于程序...
* java 开发语言是程序员转正述职报告中提到的主要技术之一 * 程序员转正述职报告中提到通过学习和掌握 java 开发技术,能够更好地融入公司的开发团队 三、CBP 产品框架 * CBP 产品框架是程序员转正述职报告中提到...
2. **技术更新速度**:IT领域的技术更新迅速,通常一个新版本的软件在发布一两年后就会有新的升级。因此,及时获取并理解英文原版资料至关重要,以避免因翻译延迟而落后于技术发展。 3. **技术文档的重要性**:软件...
本书《程序员十层楼》通过对程序员技术能力的细致划分,提出了一个包含十个层次的程序员技能体系,以帮助读者更清晰地了解和定位自己的技术水平。在这一体系中,作者周伟明从自身丰富的软件开发经验和对程序员职业的...
【程序员经典简历】展示了丰富的IT技能和经验,涵盖了多个编程语言、框架、工具和技术。以下是对简历中提及的技能和知识点的详细说明: 1. **编程语言与数据库**: - **C#**:Microsoft的面向对象编程语言,用于...