不要跟随JavaScript趋势

2020-06-16 22:21:23

这就是那些日子中的一天。您在浏览器中键入twitter.com,看到某人发布了一条关于如何使用Reaction Hook的新推文。但是,出于某种原因,您的公司或团队尚未切换到使用Hook。或者,可能您正在使用它们,但不是以一种新的“时髦”方式。也许你使用的是Vue.js或ANGLING,但是这些反应挂钩到处都是,几乎在你加热晚餐的时候就开始出现在你的微波炉上了。

既然是这样的一天,你就会开始质疑你的代码库里的东西是不是正确的?你是不是应该用你刚刚读到的内容来重构这段逻辑呢?随着问题的解决,您开始想象这在您的代码中会是什么样子。

现在,你突然有一种使用它的冲动。你让你的团队领导你的团队,或者向你的整个团队发送关于这种很酷的新做事方式的信息,然后你建议你开始使用它。

不久前,@ThePracticalDev推特账号上出现了一本虚构的书的封面。回到2016年,以与今天的人们略有不同的方式取笑不断变化的JavaScript世界是一种时尚。

嘘,我发明了时光机(别告诉任何人)!让我们快速回到2016年。呼!我们到了。JavaScript景观如下所示:

如果您正在使用JavaScript框架或想要使用框架,您可能会选择Angular.js。但是,关于“天使2”的新闻几乎会让你重写一切。另外,这个新成员--React.js正在兴起并走向成熟,当然,还有Vanilla JS和无框架的人们。2016年,不使用框架仍是一种流行观点,但正在慢慢消退。

知道了这一切,你会怎么做?你会选择哪条路?为什么?既然你来自未来,答案似乎是显而易见的--反应。但是,如果您在几年后决定使用Angular.js,您会忍不住想要使用新的Angular版本并重写代码。如果你选择使用REACTION,你将会是一个幸运的赢家,因为现在每个人都在乘坐REPACT火车。现在,您很想删除类组件,将功能组件与那些甜蜜的钩子一起使用,对吗?嗯,至少它不是一个全新的API来学习,就像使用Angular.js-角度2变化一样,对吗?

我们现在选择什么或以前选择什么都无关紧要。我们仍然会受到诱惑,或者必须在以后重写代码。这样做的原因可能会有所不同:

你觉得旧的解决方案不再适合你了,你想要一些新的东西。

不断改进和出货一个新的、更好的版本深深植根于我们的行业之中。制定更高效、更简单、更美观、更健壮的解决方案的需求正紧跟着我们的脚步。破坏不断学习和进步的观念,这是与当今任何事情和每个人都背道而驰的。我现在不打算走这条路,但如果你想在未来听到更多关于这方面的消息,请考虑订阅这份时事通讯。

必须学习新东西的想法是好的,我同意这一点,但你应该多久这样做一次?看看JavaScript的世界,一个新的想法、博客帖子、库、框架等等经常会出现。事情变得越来越糟糕,人们很快就会尝试采纳这一点。我并不是说你不应该采用新的东西,不应该考虑不同的方法来解决问题,一点也不!我正试着提出少做这件事的想法。

让我们变得更加务实。我以前用过AXIOS,它很管用。你可以恰当地使用它,得到广泛的支持,有很多网点(GitHub明星),等等。然后,我看到了一篇博客帖子,它告诉您替换AXIOS并使用您的获取逻辑。

看了这篇博文的标题《用简单的自定义抓取包装器替换AXIOS》,让你从这篇博文一开始就经历了思考的过程,让你对自己的选择产生了质疑。

我不会详细说明你是否应该这样做,因为帖子告诉你,帖子本身就做得很好。我可以帮你做基本的决策。你现在对AXIOS满意吗?如果答案是肯定的,那么最好不要考虑更换它的想法。AXIOS证明对你或你的团队来说困难吗?如果答案是肯定的,那么试着按照帖子告诉你的去做,看看效果如何。

简而言之:不要上当炒作。试着“感受”什么对你管用,然后顺其自然。尽量不要屈服于华而不实的新推文,博客帖子,黑客新闻头条,关于你应该做什么或不应该做什么的流行标签。继续阅读,了解如何避免这种炒作驱动的开发。

这种炒作在我们的行业里是很常见的。还记得NoSQL吗?或者当每个人都疯狂于微服务的时候?还是人工智能/机器学习的爆发?清单不胜枚举。人们对新的和突破性的技术和想法感到兴奋。高德纳(Gartner)的员工在描绘炒作周期方面做得非常出色:

它展示了新技术和新兴技术的典型生命周期。你有没有认出你现在正在使用的任何东西,可能会落入图表的某个部分?艾曼制作了一个更详细的炒作循环图:

当追逐最近的JS趋势时,回想一下这个斜率,它适合在哪里?

炒作和刺激有时在生活中是有用的。没有它,生活将是平淡乏味的。追随炒作,时不时地跟上潮流,这可能是一种提神作用,但你应该总是先做研究。

在尝试采用全新的炒作的库或框架时,请记住这一点。向您自己和您的团队提出以下问题:

阅读博客帖子、推特和公告是有帮助的,但要想获得最佳体验,无论某件事是不是适合你,都要通过积累经验来实现。试着为你计划使用的东西建立一个原型。看看它如何与你正在做的其他事情“共舞”。

如果你计划在团队层面上做一些事情,试试团队黑客马拉松。黑客马拉松是与你的团队一起测试新技术的一种很好的方式,也是一个你可以疯狂寻找解决方案的地方。然后,你可以和你的团队进行某种形式的回顾,讨论利弊。

您当前的实施是否存在特定问题?如果是这样的话,测试一下新技术是否能解决这个问题。需要多长时间?学习它并重写您的解决方案是否值得呢?这会在多大程度上拖累你们团队的发展?

如果你在一家小公司工作,或者在一个由经验不丰富的团队成员组成的团队工作,这个问题可能会很棘手。试着征求建筑师或高级工程师的意见。仅仅因为一些库很适合Airbnb和他们的网站,对你来说可能不是最好的,而且你可能忽略了它的某些方面。与有经验的人交谈有时是一种特权,但如果你有这种特权,就使用它吧!

如果你是大四学生,试着和低年级的或经验比你少的人交谈。许多公司都在实施所谓的“反向指导”计划,即初级员工对公司的高级成员进行培训。高年级学生的经验换来了低年级学生的新视角。你会惊讶于你能学到和分享到多少东西。

如果您喜欢这篇博客文章,请考虑订阅时事通讯或与您的朋友和同事分享:

我刚刚发布了一篇关于如何应对JavaScript趋势和炒作的新帖子。你对这个话题有什么看法?https://t.co/LH11oINZl2。

-尼古拉ĐUza(@nikolalsvk)2020年6月16日。

作者尼古拉·鲁比(NikolaĐUza)在诺维萨德生活和工作,他用javascript和ruby构建了令人惊叹的东西。你可以在推特上关注他。

只有当有新内容发布时,我才会给您发送电子邮件。没有垃圾邮件。随时取消订阅。