阅读更多

49顶
6踩

研发管理

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

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

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

文章内容如下:

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

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

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

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

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

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

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

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

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

原文:Good Developer, Bad Developer
49
6
评论 共 62 条 请登录后发表评论
62 楼 ruilei05 2012-07-27 07:22
youarestupid 写道
aninfeel 写道
为了占山为王,写别人无法维护的代码才是王道。

你可以去死了。

坑爹啊!
61 楼 aegeanmoon 2012-06-17 23:18
都忙着生计了,那还有空多想。
国内IT生态非常差
60 楼 12345678 2012-06-15 08:47
geminiyellow 写道
witcheryne 写道
真不如把这篇贴出来:

如何写出无法维护代码:
http://coolshell.cn/articles/4758.html


我写的就是

pktangshao 写道
dwbin 写道
dwbin 写道
javay 写道
HelloJimmy 写道
liming495 写道
<script type="text/javascript">
    alert("12313");
    alert(username);
</script>



一楼好可爱。。

真正可爱的是你。

为可爱包装一层

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

[fly]哇哈哈[/fly]


好吧,你们都很可爱!
59 楼 caodegao 2012-06-14 22:02
确实一点意义都没有,拿上帝跟民工比
58 楼 693678967 2012-06-14 18:03
在别人都在寻思怎么用钱生钱的,时候我们在研究怎么写出更加牛逼的代码!
57 楼 sunhao901001 2012-06-14 16:15
还行
56 楼 黑白两相望 2012-06-14 14:46
  你给差的那个高薪 一个好的环境 他也能变成优秀的! 你给优秀的那个低薪 一个差的化境 他也能变成差的!
55 楼 RonQi 2012-06-14 14:40
witcheryne 写道
真不如把这篇贴出来:

如何写出无法维护代码:
http://coolshell.cn/articles/4758.html

54 楼 bigsalt 2012-06-14 11:41
    
53 楼 tyzqqq 2012-06-14 11:36
"开发者“ ,做的多了就自然成为了优秀的
52 楼 jsjzhou 2012-06-14 09:31
比较讨厌说教式的文章, 而且还用对比.
51 楼 hudingchen 2012-06-14 08:28
这不是转载吗,怎么写个原字?
50 楼 geminiyellow 2012-06-14 08:00
witcheryne 写道
真不如把这篇贴出来:

如何写出无法维护代码:
http://coolshell.cn/articles/4758.html


我写的就是

pktangshao 写道
dwbin 写道
dwbin 写道
javay 写道
HelloJimmy 写道
liming495 写道
<script type="text/javascript">
    alert("12313");
    alert(username);
</script>



一楼好可爱。。

真正可爱的是你。

为可爱包装一层

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

[fly]哇哈哈[/fly]

49 楼 lxc19881231 2012-06-13 19:45
liming495 写道
<script type="text/javascript">
    alert("12313");
    alert(username);
</script>


想黑人家吧?哈哈
48 楼 liguocai2009 2012-06-13 19:28
引用
优秀的开发者认为不应该花费过多的时间来写不言自明(self-explanatory)和显而易见(well-documented)的代码。差的开发者总是需要分配额外的时间来记录和简化代码。

翻译错了,怎么我觉得要刚好相反
47 楼 122829827 2012-06-13 17:43
感觉文中优秀的开发者=项目经理?
从宏观上把控。。。
但也不能一棒子打死哪些,只喜欢静静的打代码的程序猿啊!
46 楼 zhaolianyang 2012-06-13 17:21
现实才是理想的初衷!!!
45 楼 witcheryne 2012-06-13 17:19
zb1015 写道
我想问问中国那一个不是差的开发者

悲哀...
44 楼 zb1015 2012-06-13 17:00
我想问问中国那一个不是差的开发者
43 楼 youarestupid 2012-06-13 16:33
aninfeel 写道
为了占山为王,写别人无法维护的代码才是王道。

你可以去死了。

发表评论

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

相关推荐

  • 优秀的开发者 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 开发者? 能提出这样的问题很重要,因为世界上许多人...

  • 基于Python的天气预测与可视化(完整源码+说明文档+数据)

    基于Python的天气预测与可视化(完整源码+说明文档+数据),个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基于Python的天气预测与可视化(完整源码+说明文档+数据)基

  • 超表面设计中MIM结构的FDTD仿真:基于磁偶极子共振的高效光束偏折实现

    内容概要:本文详细介绍了利用MIM(金属-介质-金属)结构进行梯度相位超表面的设计与仿真的全过程。首先,通过Au-MgF2-Au三明治结构,利用磁偶极子共振实现高效的相位控制。接着,通过FDTD仿真工具,编写参数扫描脚本来优化纳米柱尺寸,从而实现广泛的相位覆盖。然后,通过近远场变换计算异常反射效率,验证了高达85%以上的反射效率。此外,还探讨了宽带性能验证的方法以及梯度相位阵列的设计思路。最后,提供了实用的代码片段和注意事项,帮助读者理解和复现实验结果。 适合人群:从事超表面研究、光束控制、电磁仿真领域的科研人员和技术开发者。 使用场景及目标:适用于希望深入了解MIM结构在超表面设计中的应用,掌握FDTD仿真技巧,以及探索高效光束偏折机制的研究人员。目标是通过详细的步骤指导,使读者能够成功复现并优化类似实验。 其他说明:文章不仅提供了理论背景,还包括大量具体的代码实现和实践经验分享,有助于读者更好地理解和应用所学知识。

  • 基于主从博弈的MATLAB实现:共享储能与综合能源微网优化运行

    内容概要:本文探讨了利用主从博弈理论解决共享储能与综合能源微网之间的利益冲突。通过MATLAB和YALMIP+Cplex工具,构建了微网运营商、用户聚合商和共享储能服务商三者之间的博弈模型。主要内容包括系统架构介绍、核心代码解析、求解策略以及仿真结果分析。文中详细展示了如何通过Stackelberg模型实现三方利益的最大化,并提供了完整的代码实现和详细的注释。 适合人群:从事能源互联网项目的研发人员、对博弈论及其应用感兴趣的学者和技术爱好者。 使用场景及目标:适用于希望深入了解能源系统优化、主从博弈理论及其MATLAB实现的研究人员和工程师。目标是掌握如何通过编程手段解决复杂系统中的多主体利益协调问题。 其他说明:文章不仅介绍了理论背景,还提供了具体的代码实现细节,如参数初始化、目标函数构建、约束条件处理等。此外,还包括了仿真结果的可视化展示,帮助读者更好地理解模型的实际效果。

  • FPGA图像处理领域的直方图统计与均衡化技术及其Matlab验证

    内容概要:本文深入探讨了基于FPGA平台实现直方图统计与均衡化的全过程,涵盖直方图统计、累积直方图计算和均衡化处理三大核心步骤。文中不仅提供了详细的Verilog代码实现,还介绍了关键的设计思路和技术难点,如双端口BRAM的应用、流水线控制、除法器资源优化等。此外,通过Matlab代码进行了结果验证,确保FPGA实现的准确性。 适合人群:从事FPGA开发、图像处理、计算机视觉等相关领域的工程师和技术爱好者。 使用场景及目标:适用于需要高性能、低延迟图像处理的应用场景,如实时视频处理、医学图像处理、卫星图像增强等。目标是掌握FPGA实现直方图均衡化的技术细节,提高图像对比度和清晰度。 其他说明:文章强调了FPGA相较于CPU和GPU在并行处理和硬件加速方面的优势,并提供了丰富的代码实例和测试结果,帮助读者更好地理解和应用这一技术。

  • 基于LSTM的高速公路车辆换道轨迹预测:数据处理、模型设计与性能评估

    内容概要:本文详细介绍了利用LSTM模型进行高速公路车辆换道轨迹预测的研究过程。首先,作者使用来自I-80和US-101高速公路的实际换道轨迹数据,这些数据包括横向和纵向的速度、加速度以及轨迹坐标等特征。通过对数据进行预处理,如标准化、划分训练集和测试集等步骤,确保了数据的质量。然后,设计并实现了包含两层LSTM和一层全连接层的神经网络模型,采用Adam优化器进行训练,并通过交叉熵损失函数评估模型性能。实验结果显示,模型在测试集上的准确率达到85%,表明LSTM模型能够有效捕捉车辆换道的行为模式。 适合人群:从事自动驾驶技术研发的专业人士,尤其是对深度学习应用于交通预测感兴趣的工程师和技术研究人员。 使用场景及目标:本研究旨在提高自动驾驶系统的安全性与效率,具体应用场景包括但不限于城市快速路、高速公路等复杂路况下车辆换道行为的提前预测,从而辅助驾驶员或自动驾驶系统做出更好的决策。 其他说明:尽管目前模型已经取得了较好的成绩,但仍存在改进空间,例如可以通过引入更多类型的传感器数据(如摄像头图像)、优化现有模型结构等方式进一步提升预测精度。此外,考虑到实际应用中的实时性和鲁棒性要求,后续还需针对硬件平台进行针对性优化。

  • 个人资料-1111相关内容

    个人资料-111相关内容

  • 汽车碰撞仿真CAE:基于HyperWorks与LS-DYNA的全流程解析及实战技巧

    内容概要:本文详细介绍了使用HyperWorks和LS-DYNA进行汽车碰撞仿真的方法和技术要点。从网格划分、材料属性设置、连接装配到最后的分析计算和结果处理,每个环节都配有具体的代码示例和注意事项。文中不仅涵盖了正碰、侧碰、偏置碰等多种类型的碰撞分析,还包括了座椅安全带约束等特殊部件的建模技巧。此外,作者分享了许多实践经验,如网格尺寸的选择、材料参数的设定以及求解器设置的最佳实践,帮助读者避免常见的陷阱并提高仿真效率。 适合人群:从事汽车工程领域的工程师、研究人员以及对汽车碰撞仿真感兴趣的初学者。 使用场景及目标:适用于需要掌握汽车碰撞仿真完整流程的专业人士,旨在提升其在实际项目中的应用能力,确保仿真结果的准确性和可靠性。 其他说明:附赠的源代码进一步增强了学习效果,使读者能够快速上手并在实践中不断优化自己的技能。

  • MATLAB/Simulink中四分之一车被动悬架双质量模型的构建与分析

    内容概要:本文详细介绍了如何在MATLAB/Simulink环境中搭建四分之一车被动悬架双质量(二自由度)模型。该模型主要用于研究车辆悬架系统在垂直方向上的动态特性,特别是面对路面不平度时的表现。文中不仅提供了具体的建模步骤,包括输入模块、模型主体搭建和输出模块的设计,还给出了详细的参数配置方法和仿真分析技巧。此外,文章还探讨了如何通过调整悬架系统的参数(如阻尼系数)来优化车辆的乘坐舒适性和行驶安全性。 适合人群:从事汽车动力学研究的专业人士、高校相关专业的学生以及对车辆悬架系统感兴趣的工程师。 使用场景及目标:①用于教学目的,帮助学生理解车辆悬架系统的理论知识;②用于科研实验,验证不同的悬架设计方案;③为企业产品研发提供技术支持,改进现有产品的性能。 其他说明:文中提供的代码片段和建模思路有助于读者快速上手并掌握Simulink建模技能。同时,强调了实际应用中的注意事项,如选择合适的求解器、处理代数环等问题。

Global site tag (gtag.js) - Google Analytics