0

0

不同优秀程度JavaScript开发者的差别

黄舟

黄舟

发布时间:2017-02-23 13:28:41

|

1225人浏览过

|

来源于php中文网

原创


  “优秀绝非偶然. 它总是由强烈的意图、真诚的付出以及聪明的行动带来的。优秀代表着明智的选择——选择,而不是机会,它会决定着你的命运。“ – 亚里士多德

  我们所有人都想成为自己所在领域的佼佼者,但是很少有人付出时间和努力去实现自己所想。成为优秀的人很难,任何职业都是这样。

  评估一个JavaScript开发者的优秀程度是非常难的事情。

是什么成就一个优秀的JavaScript开发者呢?

  我们可以通过很多标准来做出判断。

  代码质量、按时交付、及时解决ticket(注:ticket类似于github中issue的意思,参考这里)是几个可以参考的标准。当然也包括帮助团队其他成员解决ticket。

立即学习Java免费学习笔记(深入)”;

  我认为以上几点都没有提供准确的的量度。为了写出优美的代码而使整个项目延期了两个月,仅仅是由于你想要重构那些没有任何帮助的东西。我们都知道,关闭一个ticket并不意味着什么。

  有许多变化的因素需要考虑。假如我问10个不同的程序员——他们觉得是什么成就一个优秀的开发者,我相信我会得到10种不同的回答。

  我相信现在你也在思考着关于它的定义。

  我曾一度挣扎于思考这个定义,所以我决定尝试并弄清楚。

  专注于工作

  我想找出所有开发者都会做的一些事情,然后我就可以基于开发者是如何做的,来对开发者的表现做出分类。

  对于一个行业的优秀评估只基于一件事过于简单化,但,无论如何我都打算去试一下。

:)

  现在你可以持保留态度。

  我会试着证明我做了一个不错的选择。它会是所有开发者都会做的,同时又能够将优秀的人从平庸者中筛选出来的一件事。

所有的开发者都会偶尔写出垃圾代码。

  让我们正面这件事吧,你和我都会时不时写一些非常垃圾的,可耻的,以致我们永远都不希望被人看见的代码。

  我们都有偶尔写出垃圾代码的理由。我不打算去讨论哪些是正当的理由,因为我们每个人都有自己正当的理由。

  在展示一些编码的暴行之前,我们先回顾一下我们写垃圾代码的原因。然后我们就可以避免陷入代码气味,苦苦挣扎。

  写垃圾代码的常见原因

  1. 赶时间

  “时间不够”是目前写垃圾代码最多的一个原因。对客户的承诺、紧张的日程安排,以及正在等待的新的发布都可能是造成这个恶果的原因。

  2. 深陷痛苦之中

  现有代码库实在是太垃圾了,让你根本不想努力写出好的代码。你知道自己无论做什么都不可能挽救这份将在某一时刻崩溃的垃圾代码库。

  3. “我只需完成任务然后离开”

  作为开发者,我们有时候是在不同的项目组工作。假如写完最后几行代码你就要转到一个新的项目,这并不是什么影响别人的大事情。

  知道自己在这个项目上的时间即将结束,没有人会再review你的代码了。于是你就草草提交、推送,然后指望单元测试来确保没有任何问题。

 看看真相

  我们都会偶尔写出垃圾代码。这能说明我们都是糟糕的开发者吗?

  当然不能。正因为每个人都会偶尔写出糟糕的代码,所以这件事本身不能说明任何问题。

  然而,多年来,我渐渐发现一个关于开发者的令人惊讶的真相。

在写出垃圾代码后如何表现,就是对我们开发者资质的根本检验。

  有点不可思议,但确实是这样。意识到你正在写出垃圾代码,以及为了避免将来再次发生而采取的行动,都反映出你是如何写代码的,以及你一般都是如何对待写代码这件事的。

  垃圾代码与评估开发者的优秀程度有多大关系呢?

  有很大的关系。

企站帮企业网站管理系统1.0
企站帮企业网站管理系统1.0

一、源码描述这是一款比较简单的企业管理系统源码,界面美观大方,功能简单,特别适合初学者学习研究,系统运行十分流畅,可以作为二次开发,同时也是可以帮助初学者增长知识的优秀代码。二、功能介绍主要功能:企业动态,产品介绍 ,免费下载,定制服务,该源码比较适合新手学习和二次开发使用。三、源码特点1、网站布局:采用目前最先进的布局方式DIV+CSS,符合W3C的标准和Web2.0的风格。2、程序设计模块化,

下载

  我们举Ron为例。Ron今天写了糟糕的代码,并为此不高兴。因为一个令人讨厌的五级深度的Backbone模型继承链,让Ron根本不能修改一行代码,除了打破一切。

  Ron写了一段超级垃圾的代码,绕过了这个问题。每个人都很高兴,因为Ron准时交付了代码。然而除了Ron自己。

  他告诉团队老大发生了什么。他们一起反复思考如何解决这个问题。他们明确了一点,打破继承链并划分为水平的组合模块是最佳的解决办法。

  Ron于是请求老大给他时间实施自己和老大刚刚讨论的重构方案。

  Roger今天也写了很糟糕的代码。他告诉自己的开发伙伴,自己用难以置信的hack手法绕过了一个奇怪的五级深度的Backbone模型继承链。他准备绕过整个整个架构,就这样准时交付。

  Roger自己感到非常满意,觉得没有进一步改善的必要。

 四类JavaScript开发者

  你可以通过程序员对待写出垃圾代码的态度,将他们分为四类,从差劲到优秀。

  告诉我你没有同时遇到所有的这四类开发者。

  Barney - 差劲的JavaScript开发者

  Barney并不关心自己正在写垃圾代码。他关心的仅仅是能否按时完成工作,其他任何事都无关紧要。代码能正常运行,就没有问题。

  Barney写出的垃圾代码,有时也会阻碍整个项目的进展。代码工作时,也会一直带来很多问题,让整个项目进度倒退。Barney却认为自己并不需要学习什么新的东西。

  他已经知道了完成工作所需要的关于JavaScript的所有东西。

  Bill - 普通的JavaScript开发者

  Bill并没有意识到自己正在写垃圾代码。他遵循着团队的约定和lint规则,认为自己所做的没什么问题。但他并没有花费时间去理解整个项目结构,以及不同组件之间是如何交互的。

  最后的结果就是,很不幸,一片混乱。

  Bill在做出重大的设计选择之前,没有咨询任何人。他自己怎么想的就怎么做。他读过三篇发表于一年前的博文,它们一直在指导着他的决定。

  我经常说走进Bill的代码中,感觉就像地雷战,移动错了一步,所有的东西都会炸到你脸上。

  Roger - 好的JavaScript开发者

  我们前面就提过Roger这种类型。完全意识到自己在写垃圾代码。他知道如果他想好好写的话,代码会是什么样子。他拍拍自己的背,然后继续写出这段垃圾代码。

  Roger的主要问题在于没有尝试做一些改变。他做了自己被要求去做的,而且完成的很好。但是他宁愿让事情该怎样就怎样,而不是花点时间,做一些努力让其有所改变。

  Ron - 优秀的JavaScript开发者

  Ron是一个优秀的程序员,但偶尔他依旧不得不写一些垃圾代码。

  让Ron与别人不同的,就是在写那些垃圾代码的时候,他会认真地思考如何让这种情况不会再次发生,既不为自己,也不为任何其他人。Ron会弄清楚需要那种类型的重构,哪一块的技术方案可以改变或提升。

  然后,基于这些发现,Ron会行动起来,去推动这些改变。

 冷酷的现实

  我必须得忏悔一下。 我就是这里的Roger。 但我也是Ron。 我也相信我曾不止一次的偶然当过Bill而自己不知道。我认为自己没有像Barney那样过,但是,到底有没有,谁知道呢!我们都在走向持久优秀之路上来来回回。有时候我们是普通的,有时候我们是好的又或是优秀的。总是在尝试着不要变成差劲的。

  我们最终持续时间最长的那个角色会决定我们是什么样的开发者。

  说实话,从普通开发者到好的开发者,相较于其他事情,需要的是积累更多的知识和经验。但是想要从好的跃升到优秀,你只需要改变一样——态度。

“记住,在成为伟大之前,你必须是良好。在你成为良好之前,你必须是差劲。但是,在成为差劲之前,你必须去尝试。——阿特 威廉姆斯

 以上就是不同优秀程度JavaScript开发者的差别的内容,更多相关内容请关注PHP中文网(www.php.cn)! 

相关文章

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

公务员递补名单公布时间 公务员递补要求
公务员递补名单公布时间 公务员递补要求

公务员递补名单公布时间不固定,通常在面试前,由招录单位(如国家知识产权局、海关等)发布,依据是原入围考生放弃资格,会按笔试成绩从高到低递补,递补考生需按公告要求限时确认并提交材料,及时参加面试/体检等后续环节。要求核心是按招录单位公告及时响应、提交材料(确认书、资格复审材料)并准时参加面试。

44

2026.01.15

公务员调剂条件 2026调剂公告时间
公务员调剂条件 2026调剂公告时间

(一)符合拟调剂职位所要求的资格条件。 (二)公共科目笔试成绩同时达到拟调剂职位和原报考职位的合格分数线,且考试类别相同。 拟调剂职位设置了专业科目笔试条件的,专业科目笔试成绩还须同时达到合格分数线,且考试类别相同。 (三)未进入原报考职位面试人员名单。

58

2026.01.15

国考成绩查询入口 国考分数公布时间2026
国考成绩查询入口 国考分数公布时间2026

笔试成绩查询入口已开通,考生可登录国家公务员局中央机关及其直属机构2026年度考试录用公务员专题网站http://bm.scs.gov.cn/pp/gkweb/core/web/ui/business/examResult/written_result.html,查询笔试成绩和合格分数线,点击“笔试成绩查询”按钮,凭借身份证及准考证进行查询。

11

2026.01.15

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

65

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

36

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

75

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

21

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

35

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 3.7万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.2万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号