`
huanghuaibin
  • 浏览: 66083 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

做一个有想法的程序员

阅读更多

许多程序员认为其工作任务只是负责后台逻辑的程序开发,对界面的布局莫不关心。实际上评价一个程序员的优秀与否,是要从界面和业务逻辑两方面来衡量的。杂乱无章的界面布局,只会给人留下“三流程序员”的印象。通过下文中的一个小项目让我们了解怎样才算一个优秀、有想法的程序员,才能坐上产品经理或项目经理的交接椅。请见下文:-

先做一个实验,假如我们要开发一个小项目,需求很简单,就是一个保存用户基本信息的页面,要求用户可以输入姓名、电话、联系地址、邮箱、手机号码、备注,其中姓名与邮箱是必输项目,我们把这个项目分给三个程序员做(当然这三个人都是虚拟的,其实都是我做的),三个程序员交来的作品都没有逻辑错误,数据保存正常,让我们看看做出来的效果有什么不一样。

       许多程序员的理解是数据进到数据库,逻辑上没有错误注完成了。所以一般来说,让一个程序员评估一件工作的工作量,你需要在他评估的工作量上再增加100%。第一个程序员交的作品如下图所示:-
图片

      第一个程序员交上来的作品,这种作品我们基本上可以理解为实习生做的作品,许多有两年甚至更长开发经验的开发人员,也会开发出这种作品,不要笑,我甚至见过还比这种作品更烂的作品。如果一个程序有超过一年的工作经验还提交这种作品,基本上没戏了,因为这类程序员不会自己思考。不要和我较真,那种从来不与界面打交道的程序员另当别论了。

    图片

第二个程序员交上来的作品可以算得上是一个合格的作品,中规中矩,没什么太大的亮点。与第一个程序员不同的是:-

1.他给网页加上了标题信息;-

2.他给每一行标题(就是姓名/邮臬等信息)设置了加粗并添加了背景颜色;-

3.给必输项加入红色的*号进行标注;-

4.他把默认的提交按钮文字改为保存,并没有使用默认的提交字样;-

5.给表格加了连线,这样看起会舒服一些(这项见仁见智);-

6.为输入框设置了最大可输入长度;-

图片

再来看第三个程序员提交的作品,第三个程序员在第二个程序员的基础之上又做了一些改进,除了第二程序员所做的事情,他还做了这些事:-

1.添加了水印备注,让用户更能了解输入框的作用(当然这里只是做了一个示例,实际上姓名的水印是没有必要的);-

2.当输入框获得焦点的时候,背景会变颜色,以提醒用户-

3.当用户输入正确的时候,会在后面出现绿色的勾,如果输入错误,则会在输入框后面出现红色的叉-

-

许多的程序员都有这样的想法,我就是一个程序员,我只负责程序的逻辑上没有错误,例如说数据正常插入到数据库,至于界面的事,应该由美工负责。实际上在大多数项目中,并没有太多复杂的逻辑。一个程序员可以不用管界面是否漂亮,但是一定要把界面弄得很整洁,不要把一大堆控件搞得乱糟糟的。其实你并不需要花太多的时间来处理这些界面,而是你要花些心思在上面,多注意几次就好了。-

例如在上面示例的Web程序中,CSS代码非常简单,但给人的感觉很简洁,最起码看起来不会太难受。而第三个程序员所提交的作品,除了页面整洁之外,他还注意到用户的体验,这是很难能可贵的。如果一个程序员在写程序的时候能时时想到用户体验,那么应该离他升职的时间应该不会太远了。如果你能做到文中提到的第三个程序员的程度,我认为你已经摸到了产品经理或者项目经理的凳子了。-

写程序并不是别人让写什么就写什么,应该有一些自己的想法,如果你一直像第一个程序员那样写程序,你将永远是一个三流的程序员。不要像一个鼠标一样,别人拽一下动一下,应该和病毒一样主动出击。在有限的时候里把程序做得最好,无论是界面上还是业务逻辑上。-

分享到:
评论

相关推荐

    程序员如何真正的成长

    摘录自51CTO.com,文章就程序员的生涯发表了一些想法,从成为一个程序员需要具备的东西到成长成为一个真正的程序员,以及关于程序员的职业发展等等做出了一些较好的建议。

    高效程序员的45个习惯-读书笔记

    自己总结的《高效程序员的45个习惯》,把书中自己感觉较好的段落摘抄下来,稍稍加了点自己的想法,挺好的...

    从程序员到行业专家

    不想当将军的士兵不是一个好士兵,在IT界同样如此。不想当行业专家,行业领头人的程序员不是一个好的程序员。我们和比尔盖茨处于同一行业,为什么比尔盖茨能成为世界首富?我们不是输在头脑,而是输在想法。

    程序员的思维方式探讨

    我并不想探讨程序员们是怎么思考问题的,近几年来这方面准确和不准确的文字太多了,而且每个人,每个程序员的想法本身也都不一样。一直想要探讨的是程序员应该怎么去思考问题。当然这确实是个见仁见智的问题,所以...

    程序员之路探究

    这是个人对程序员生涯的一孔之见,只代表作者的个人想法,其中疏漏甚至错误之处在所难免,希望大家多提宝贵意见。

    如果程序员转行去做销售

     我觉得对于还在程序员岗位上奋斗的朋友,如果您有计划或者有想法转行去做销售的话,有几个事情是需要注意的,毕竟销售员和程序员是完全不同的两个职业,两种不同的职业状态。  第一,收入的不同。  其实在我...

    程序员面试宝典#程序员面试宝典

    程序员面试宝典#问答式教程 如:①.原则上我会尊重和服从领导的工作安排,同时私底下找机会以请教的口吻,婉转地表达自己的想法,看看领导是否能改变想法。②如果领导没有采纳我的建议,我也同样会按领导的要求认真...

    程序员10大职业生存技巧

    如果你的想法在小组会议上被驳倒,设计一个完美又顶级的破坏和怠工活动,如果刚好出现问题的话,那你就可以得意洋洋地宣布了:“我早就说过会这样!” 9. 要多和同部门的人增进感情 不要老是去其他部门办公室,否则...

    一个程序员的开发习惯

    究其发贴动机,当然不排除有骗取参与分的可能,但另一方面,也希望能给同行(念Xing)者提供一些建议,或者参考(希望不是误人子弟)。同时,也希望各位能够就我的这些陋习,发表一点看法,给出批评和指正的意见。谢谢...

    献给所有想当程序员的朋友

    一年来浪费了大量的时间去摸索...我把我的一些体会和想法说出来(当然,很多都不一定正确,欢迎大家指正和讨论),也许对一些想加入程序员行列的朋友有一些建议和帮助。希望能帮助这些朋友顺利走上编程之路,成为高手。

    PHP-X让有一定工作经验的PHP程序员都能扩展.doc

    于是我今年就冒出一个新的想法,基于我编写swoole扩展超过5年的经验,我试图在Zend API和C 之间建立一个包装层,让PHP扩展开发变得简单。有一定C 基础的PHPer都可以轻松得开发一个PHP扩展。   PHP-X这个...

    程序员年度总结报告思路

    程序员年度总结报告 工作概述 • 简单概括出个人为公司创造的价值和工作成果...有分寸的提出公司目前存在的问题,以及现有工作中所遇到的困难,认真研究分析问题并提出自己建设性的想法和建议。 明年都有哪些计划和目标

    JGrowing不是属于某个人的项目,而是属于组织项目 我的想法是由我最初画一个大致的Java学习路线脑图

    时常有一些朋友问起一个Java程序员到底应该怎么学习?公司的项目对自己没啥帮助,到底应该怎么提升?这些问题想必对很多人都是一个通病,包括我自己也是。所以我对于这些问题通常只能基于自己的眼界进行答复,也不...

    程序员计算器:一种命令行计算器,供程序员使用多个数字表示形式并且接近位

    投手罗曼斯(Romes)发现,在线提供的工具比较笨拙,并且不允许“漂亮的多任务处理” 不断地需要可视化和操纵钻头,很明显,必须有更好的解决方案安装家酿首先,创建一个新的水龙头$ brew tap alt-romes/pcalc然后...

    Android程序员向导

    差不多开始的时候,手机作为一个外围设备并且运行私有软件,而这些软件被制造商们所拥有和控制,而且几乎可以被认为是一个“关闭”的系统。习惯使用私有操作系统主要是制造商自己开发硬件,或者至少定义了开发的...

    想成为嵌入式程序员应知道的0x10个基本问题

    从面试者的角度来讲,一个测试也许能从多方面揭示应试者的素质:最基本的,你能了解应试者C语言的水平。不管怎么样,看一下这人如何回答他不会的问题也是满有趣。应试者是以好的直觉做出明智的选择,还是只是瞎蒙呢...

    程序员面试攻略 part1(共2个)

    独辟蹊径,角度很好,尤其适合我们要找一个好工作的想法,你为公司做了很多事情,也学了很多技术,可是 面试的题目你不一定能够过关,因为面试考题角度特别。要提高自己的生存能力,还是多研究一下吧。我看了前面的...

    程序员Linux备忘手册来了 解决学完就忘.rar

    作为一个程序员,必须要学习Linux。注意我说的是所有程序员,无论你是后端、前端还是算法工程师,无论你是Java、Python、PHP还是Golang...都必须学习Liunx。也许你会反驳我说,Linux不是运维的事情吗?我们只要提交...

    程序员面试攻略part 2(共2个)

    独辟蹊径,角度很好,尤其适合我们要找一个好工作的想法,你为公司做了很多事情,也学了很多技术,可是 面试的题目你不一定能够过关,因为面试考题角度特别。要提高自己的生存能力,还是多研究一下吧。我看了前面的...

Global site tag (gtag.js) - Google Analytics