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

做一个有想法的程序员

阅读更多

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

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

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

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

    图片

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

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

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

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

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

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

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

图片

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

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

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

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

-

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

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

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

分享到:
评论

相关推荐

    一个程序员的面试感想

    标题中的“一个程序员的面试感想”意味着这篇文章将聚焦于一个程序员在面试过程中的体验、反思和学习。作为程序员,面试不仅仅是技术技能的展示,也是沟通能力、问题解决能力和个人职业素养的综合体现。这样的文章...

    程序员的酸甜苦辣 程序员的酸甜苦辣

    然而,当程序员成功解决一个难题,或者完成一个功能模块,那种成就感就如同蜜糖,甜蜜无比。看到自己的代码运行顺畅,或者得到用户的好评,那是程序员最甜美的时刻。此外,通过编程实现创新想法,为社会带来便利,也...

    一个程序员的告白书!

    根据给定的信息,本文将围绕一个程序员通过编程语言表达情感的独特方式展开,深入解析其中蕴含的技术与情感元素。 ### 知识点一:程序语言在情感表达中的应用 #### 1.1 编程语言的独特魅力 编程语言是计算机与人类...

    程序员记事本

    总的来说,《程序员记事本》是一个强大的辅助工具,它不仅提供了一个安全的存储空间,让程序员可以安心存放他们的代码和思考,而且通过其强大的组织和检索能力,极大地提高了工作效率。无论是在日常开发还是项目协作...

    程序员(程序员受益终身的文档)

    “程序员相轻”是指程序员之间存在的一种互相轻视的现象。这种心态源于以自我为中心的倾向,表现为自以为是、不愿意听取他人意见,甚至在交流中倾向于寻找对方的缺点而非优点,以此彰显自身的优势。这种心态不仅存在...

    程序员表白系列-6套源码分享.zip

    5. **程序员表白程序,开放源码,不断更新_6856257.zip**:这个项目不仅是一次性的表白工具,更是一个持续更新的平台,程序员可以在这里找到新的想法和代码片段,不断改进自己的表白方案。开源的精神鼓励社区成员...

    程序员跳槽全攻略

    例如,如果公司有强大的云计算平台,对于想从事这方面工作的程序员来说,可能是个不错的机会。就像作者拒绝阿里巴巴的Offer,选择了百度的云计算岗位,这表明他可能更看重在特定领域的深入发展。 跳槽过程中,合同...

    我就差一个程序员了! - 文章 - 伯乐在线1

    通过这些知识点,我们可以看出,成功的创业不仅仅是有一个伟大的想法,还需要有执行想法的能力,这包括但不限于编程技能。同时,尊重和理解技术团队的重要性,以及愿意学习和适应新技术的精神,都是创业者成功的关键...

    程序员系列丛书《程序员接单宝典━资深高手谈接外包项目》作者:韦刃

    最后,对于有创业想法的程序员,书中可能提供了从接单到创立自己公司的过渡建议。这包括如何从单打独斗逐渐组建团队,如何寻找投资,以及初创公司可能面临的挑战和应对策略。 总结起来,《程序员接单宝典━资深高手...

    程序员成长之路(很受用)

    程序员成长之路是一个老程序员对刚上大学的学弟学妹的忠告。文章提出了几个误区,提醒初学者不要追赶时髦技术,而应该花时间学习基础性的东西。 第一个误区是认为计算机技术等于编程技术。很多人认为计算机专业就是...

    程序员创业必须要过的三关

    在创业初期,很多程序员都会有一个好的创意或想法,但如何将这些创意转化为实际可行的商业模式,是至关重要的一步。很多初创企业往往因为没有明确的盈利模式而最终失败。 - **识别市场需求**:首先,创业者需要深入...

    新入行程序员应知的十个秘密

    - **关键点:** 选择一个适合自己的技术栈对于程序员的成长至关重要。 - **详细解释:** 作为新入行的程序员,选择一个合适的技术栈(例如Ruby、Java等)是非常重要的一步。Sam Kaufman提到,不同的技术栈能够带来...

    Quiver 程序员的专属笔记本 Mac体验版

    1. **多语言代码支持**:作为一个程序员的笔记本,Quiver允许用户直接在笔记中编写和运行多种编程语言的代码,如Python、JavaScript、HTML/CSS等,这对开发过程中快速测试和记录代码片段非常有帮助。 2. **富文本...

    程序员能力矩阵教材.pdf

    程序员能力矩阵是衡量程序员能力的重要指标,它涵盖了计算机科学、软件工程、程序设计、交流等多个方面的知识点。以下是对程序员能力矩阵的详细解释: 计算机科学(Computer Science) * 数据结构:数组、链表、...

    程序员季度绩效考核表

    **定义:**衡量程序员在一个季度内新增功能的数量与质量。 **关键知识点:** - **需求分析:**在开发新功能前,需要对用户需求进行深入分析,确保新功能符合实际需求。 - **技术选型:**选择合适的技术栈来实现新...

    程序员必备,非常实用的小软件

    作为一个高效的工作辅助工具,URNotes能够帮助程序员提升工作效率,减少因遗忘重要细节而产生的困扰。这款软件的最新版本是1.1.9.0,它提供了一个简单直观的界面,让用户可以快速方便地创建和管理自己的便签。 首先...

    程序员表白代码

    总的来说,程序员表白代码是一个充满创意的领域,它展示了编程不仅可以用于实用目的,也可以成为表达情感的一种艺术形式。无论是为了向心爱的人表白,还是提升自己的编程技巧,都是一个值得探索和尝试的主题。

    高效程序员的10个习惯

    - **促进建设性对话**:创建一个开放、包容的环境,让大家能够自由地分享想法而不担心被攻击。 #### 二、跟踪变化 在项目开发的过程中,需求和技术环境常常发生变化。有效跟踪这些变化对于保持项目的顺利进行至关...

    程序员的代码的代码的代码

    3. try.rb:这个文件名可能代表了一个试验性的或探索性的代码,开发者可能在这个文件中尝试新的想法、算法或解决方案,以解决特定问题。 在深入理解这些文件之前,我们需要了解Ruby语言的基础知识,包括变量、数据...

Global site tag (gtag.js) - Google Analytics