阅读更多

49顶
6踩

研发管理

原创新闻 优秀的开发者 vs. 差的开发者

2012-06-12 17:24 by 副主编 wangguo 评论(62) 有22404人浏览
本文来自Totango的联合创始人兼CEO盖伊•尼尔帕兹(Guy Nirpaz),他在本文中列出了优秀的开发者和差的(或还需努力的)开发者之间的区别。

如果你认为使用“优秀”和“差”来区分开发者不妥的话,也可以将这些看作是初级开发者和资深开发者之间的区别。但无论如何,多看看其他的优秀开发者(或资深开发者)是如何做的,对于自身技能、工作方式的提升有很大的帮助。

文章内容如下:

优秀的开发者是一个艺术家,一个享受创作过程的工匠。差的开发者只将自己当作负责产生代码的码农。

优秀的开发者了解客户的问题。差的开发者只了解手头的技术问题。优秀的开发者会不断努力去理解“为什么”,然后去实现,同时能够把握大局。差的开发者专注于构建类、方法和配置文件,而不理会大局。

优秀的开发者了解产品的完整架构。差的开发者只知道他写的组件。优秀的开发人员充分理解在产品中使用的技术,了解它们的用途,以及它们在内部如何工作。

优秀的开发者不害怕新技术,并能够很快掌握。差的开发者只坚持他目前掌握的技术,对于任何技术变化持否定态度。

优秀的开发者通过不断学习来提高自己的技能,他们经常阅读技术文章和书籍。差的开发者没有时间来学习,他们总是太忙了,以致于不能干其他事情。

优秀的开发者关心产品的质量,同时也非常关注过程质量,他们努力创造无缺陷的代码。差的开发者将bug留给QA去发现,然后再修复。

优秀的开发者为客户开发能够创造价值的功能,差的开发者只是想完成任务。优秀的开发者不会声称需求描述是不完整的,并确保充分理解这些特性。差的开发者会等到需求细节完善后才开始工作。优秀的开发者总是确保拥有产品功能的相关信息,一旦信息丢失,他会想办法再得到它。

优秀的开发者不害怕在产品中加入其他人的代码,而差的开发者会担心别人使用他的代码。优秀的开发者认为不应该花费过多的时间来写不言自明(self-explanatory)和显而易见(well-documented)的代码。差的开发者总是需要分配额外的时间来记录和简化代码。

优秀的开发者永远不会觉得自己的代码已经足够好,相反会持续不断地整理和修复。他们始终致力于创造优雅的解决方案,认为他的工作是向客户提供价值。差的开发者只考虑自己代码是否优雅,将创造价值的工作留给别人。

原文:Good Developer, Bad Developer
49
6
评论 共 62 条 请登录后发表评论
42 楼 aninfeel 2012-06-13 16:01
为了占山为王,写别人无法维护的代码才是王道。
41 楼 namesolong 2012-06-13 15:11
<script type="text/javascript">
    alert("12313");
    alert(username);
</script>
40 楼 witcheryne 2012-06-13 14:59
真不如把这篇贴出来:

如何写出无法维护代码:
http://coolshell.cn/articles/4758.html
39 楼 sco.struts 2012-06-13 14:37
確實是廢話 這篇文章
38 楼 jadethao 2012-06-13 14:26
还行,写的不错嗷!
37 楼 geniuswxk 2012-06-13 14:25
被Google浏览器坑了 
36 楼 geniuswxk 2012-06-13 14:23
"<script type="text/javascript">  alert("12313"); alert(username);</script>"
35 楼 sankaiser 2012-06-13 14:19
国情不同 国内没那些功夫等你成长为优秀的人,只关注结果
34 楼 pktangshao 2012-06-13 14:01
dwbin 写道
dwbin 写道
javay 写道
HelloJimmy 写道
liming495 写道
<script type="text/javascript">
    alert("12313");
    alert(username);
</script>



一楼好可爱。。

真正可爱的是你。

为可爱包装一层

大家加油,看看这段代码能不能经过无数次循环之后执行。

[fly]哇哈哈[/fly]
33 楼 zouruixin 2012-06-13 13:48
1楼逗..
32 楼 dwbin 2012-06-13 13:40
dwbin 写道
javay 写道
HelloJimmy 写道
liming495 写道
<script type="text/javascript">
    alert("12313");
    alert(username);
</script>



一楼好可爱。。

真正可爱的是你。

为可爱包装一层

大家加油,看看这段代码能不能经过无数次循环之后执行。
31 楼 dwbin 2012-06-13 13:40
javay 写道
HelloJimmy 写道
liming495 写道
<script type="text/javascript">
    alert("12313");
    alert(username);
</script>



一楼好可爱。。

真正可爱的是你。

为可爱包装一层
30 楼 youarestupid 2012-06-13 13:37
yxrs123456 写道
本来8天的时间,给你5天,只能求大舍小。

经常遇到这样的事情,微软做一款新版本产品要3年,在国内3年推出一款软件产品,公司早就倒闭了。
29 楼 ChineseThink 2012-06-13 12:45
受教了,有很多自己还没做到的地方。
28 楼 yxrs123456 2012-06-13 12:19
本来8天的时间,给你5天,只能求大舍小。
27 楼 panpan_xin 2012-06-13 11:52
总结的不错
26 楼 dabing521 2012-06-13 11:03
向优秀开发者靠拢啊
25 楼 kittychina 2012-06-13 10:57
虽然LZ的目标是好的,谁都想达到那个好的境界,但是技术更新太快、精力有限,能称为好的程序员的真不是一般人能做到的。
24 楼 leng_cn 2012-06-13 10:47
写的太好了,尤其是那一句“优秀的开发者不会声称需求描述是不完整的,并确保充分理解这些特性。”
23 楼 xfyuanjun 2012-06-13 09:59
当你去自己想一个产品的需求和自己实现设计的时候,你会发现,需要很多东西思考,有好多问题要解决,这篇文章不错。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 优秀的开发者 vs 差的开发者

    本文来自Totango的联合创始人兼CEO盖伊·尼尔帕兹(Guy Nirpaz),他在本文中列...但无论如何,多看看其他的优秀开发者(或资深开发者)是如何做的,对于自身技能、工作方式的提升有很大的帮助。 文章内容如下:

  • 优秀的开发者 VS 糟糕的开发者

    优秀的开发者是一个艺术家,一个享受创作过程的工匠。差的开发者只将自己当作负责产生代码的码农。 优秀的开发者了解客户的问题。差的开发者只了解手头的技术问题。优秀的开发者会不断努力去理解“为什么”,然后...

  • 优秀开发者和差的开发者之间区别

    作为开发者的自己,这篇文章必须转了,看看那些优秀开发者是怎么做的吧! 优秀的开发者是一个艺术家,一个享受创作过程的工匠。差的开发者只将自己当作负责产生代码的码农。 优秀的开发者了解客户的问题。差的...

  • 开发新人参加2023 Google开发者大会的新体验

    Hello,小伙伴们,好久没和大家聊天了,前不久作为KOL主播参加了Google开发者大会,趁着这个机会和大家聊一聊我的所思所想。

  • 根据你对优秀软件开发者(优秀软件工程师)的观察和认识,说出三个共同的个人特质(优秀品质),试举例。

    作为一名优秀的开发者,你需要思考,观察数据,记忆并且分析这些现象和内容,并解决问题。虽然这一点有些抽象,但很不幸的是这是非常重要的一点。为什么很不幸呢?因为这一点意味着不是每一个人都能成为优秀的开发者...

  • 优秀的代码 vs. 糟糕的代码

    可持续开发不仅在于项目架构设计,还与代码质量密切相关,代码的...如果你还没有发现代码质量的区别,如果你从未见过优秀的代码,或者从未见过糟糕的代码,那么本文将以直观地对比,告诉你代码质量究竟会有多大的区

  • 从开发者到讲师的心路历程

    本文关键字:开发者、讲师、职业素养、必备技能。目前自己从事软件培训行业也有五六个年头了,从开发者到培训机构的讲师,再到各平台的合作讲师,再到现在的高校外聘讲师,其中也是跌宕起伏,希望自己的经历能够对...

  • 对话CSDN副总裁-邹欣:先行动的才是赢家,践行长期主义的价值创造者终将收获价值 | COC上海城市开发者社区

    这次的活动沾了 "邹欣老师" 的光,借机拉上了 "上海城市开发者社区" 的部分成员参加了邹老师的线下 "圆桌会议" 。在欢乐、轻松、和谐的气氛中,邹老师为我们讲述了 "技术人如何应对35岁中年危机" 以及 "技术人应该...

  • 开发者的4个层级和6大差异

    先看一张图——“开发者山行图”: 这张图被我称为“开发者山行图”,它描绘了开发者的 4 个层级和不同层级大概的收入范围(图上标注的收入,以一线城市互联网行业为基准,非一线地区,请除以系数)。 4 个层级...

  • 云栖专辑 | 阿里开发者们的第19个感悟:Simple is better.

    所以社区特别制作了这个专辑——分享给开发者们20个弥足珍贵的成长感悟,50本书单。 多年以后,再回首2018-19年,留给我们自己的,除了寒冷,还有不断上升的技术能力与拼搏后的成就感。 云栖社区钉钉技术讨论群,...

  • 21步助你成为成功优秀的Web开发者

    随着 Web 开发产业的爆发式发展,许多人会问这样的问题:我如何才能成为一名 Web 开发者?我认为这是一个错误的提问。问题应该是:我如何才能成为一名成功的 Web 开发者? 能提出这样的问题很重要,因为世界上许多人...

  • 基于Qt开发的截图工具- 支持全屏截图, 支持自定义截图,支持捕获窗口截图,支持固定大小窗口截图,颜色拾取,图片编辑

    基于Qt开发的截图工具.zip 截图工具(QScreenShot) Qt编写的一款截图工具。 特点 - 支持全屏截图 - 支持自定义截图 - 支持捕获窗口截图 - 支持固定大小窗口截图 - 颜色拾取 - 图片编辑 - 图片上传到wordpress 环境 Qt6.2 QtCreate 8

  • 毕业设计&课设_ 校园活动管理系统,优化校园活动组织流程,涵盖多方面功能模块的便捷平台.zip

    该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过严格测试运行成功才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

  • 毕业设计基于ASP.NET技术的班级展示网站构建(源代码+论文).zip

    基于ASP.NET技术的班级展示网站构建资源,是一套针对教育机构或学生团体,旨在通过ASP.NET框架开发班级风采展示平台的指导资料或教程。此资源详细介绍了如何利用ASP.NET的强大功能,快速搭建一个功能完善、界面友好的在线班级展示平台。 该资源涵盖了从需求分析、数据库设计、前端页面制作到后端逻辑实现的全过程。通过实例演示,指导用户如何设置班级信息、学生风采展示、活动公告、图片上传与浏览等核心功能模块。同时,结合ASP.NET的MVC架构,实现了前后端分离,提高了代码的可维护性和可扩展性。 此外,该资源还提供了丰富的代码示例和注释,帮助开发者深入理解ASP.NET框架的工作原理,掌握如何运用其强大的数据库操作、用户认证与授权等特性。对于初学者来说,这是一份难得的入门教程;而对于有一定经验的开发者,则是一份提升技能的参考资料。 总之,基于ASP.NET技术的班级展示网站构建资源,是教育机构和学生团体实现班级风采在线展示的理想选择,也是开发者学习ASP.NET框架应用的宝贵资源。

  • 基于springboot的流浪动物管理系统源码数据库文档.zip

    基于springboot的流浪动物管理系统源码数据库文档.zip

  • 基于springboot+vue的实践性教学系统源码数据库文档.zip

    基于springboot+vue的实践性教学系统源码数据库文档.zip

  • 基于Python+Django家居全屋定制系统源码数据库文档.zip

    基于Python+Django家居全屋定制系统源码数据库文档.zip

  • Umi-OCR-main.zip

    Umi-OCR-main.zip

  • 基于springboot复兴村医疗管理系统源码数据库文档.zip

    基于springboot复兴村医疗管理系统源码数据库文档.zip

Global site tag (gtag.js) - Google Analytics