国外程序员怒了:你们不要再则制作NPM包了

开发 前端
我们在NPM中达到了100万个包大关——Node.js中事实上的包管理器。相信我,其中大约有30%左右的包都在做同样的事情。所以现在的问题是——什么时候够了?

 我们在NPM中达到了100万个包大关——Node.js中事实上的包管理器。相信我,其中大约有30%左右的包都在做同样的事情。所以现在的问题是——什么时候够了?

 

[[325174]]

 

过去

早期,Node.js是一个简单的运行时,但由于缺少库而受到限制,但是随着时间的流逝,越来越多的人开始制作工具、库甚至是Cloud IDE。Node.js引发了一场革命,即JavaScript不再局限于浏览器中,而且它擅长于此。

 

[[325175]]

 

但随着时间的推移,Node.js变得更加健壮,并开始走在浏览器的前面——这是一个新的JavaScript生态系统,它不受供应商缺乏的ECMAScript支持的限制。随着时间的流逝,一些古老的库变得越来越陈旧。

但这和NPM软件包有什么关系呢?

问题是,在那些早期的日子里,也有包污染 (其今天仍然是一个问题),那里有更多无用的包比有目的的东西更多。他们中的一些人甚至重新发明了轮子,在某些包中被丢弃了将近6年。

 

国外程序员怒了:你们不要再则制作NPM包了

 

在这个例子中,我们对Redis有不同的包,Redis已经有一段时间没有维护了(不过grunt包没有维护还是可以理解的,因为它们已经被取代了),而且大部分都是你可以在app-level的实现中做的事情,显然不需要使用该程序包。

因此,停止重新发明轮子,除非你需要

假设你发明了一个记录仪,很酷!你想让人们用它,更酷!

但是,让我提醒你,总有成千上万的库可以做同样的事情,所以如果你的记录仪是特定领域的,不要尝试着把它做成NPM包,把它放在你打算使用它的项目里就可以了。

 

只有在某些情况下,你才需要真正地为每个人的利益发明轮子——因为目前的公共库表现不佳,或者说普遍的不好。

停止制造毫无用处的包

认真一点,停下来。你在破坏软件包仓库的意义,它是项目要使用的可重用模块的仓库。我不在乎它是否是一个笑话包,你是在浪费对象存储,而它本来可以由一个更有用的模块占用的。

我们有像Maven和PackageCloud这样健全的包仓库,那么为什么我们不能像它们一样专业和健全呢?我们和他们没有什么不同。

总结

NPM和JavaScript社区是我们现在所说的“现代网络”的推动力。但如果我们一直做无用功,一直误解了运行时有包管理器的概念,那么我们就会成为一个包管理器不应该成为的榜样。

所以,让我们尝试着改变一下库编写的思路——只有在没有办法的情况下,或者目前的实现方式对广大网友来说非常吃不消的时候,才去做一些东西。如果你做的东西是针对特定领域的项目,那就完全不要去做了。

责任编辑:华轩 来源: 今日头条
相关推荐

2019-11-18 10:05:43

程序员技能开发者

2019-11-18 10:16:37

工程师开发网络

2012-11-22 14:00:26

程序员

2020-07-16 09:14:05

零代码代码开发

2018-06-25 13:37:13

2020-07-24 10:38:26

微软开源程序员

2019-10-09 10:06:02

Facebook程序员脸书

2011-06-11 20:59:12

程序员

2017-01-12 08:31:40

2021-04-28 06:52:46

程序员应聘Java

2011-11-02 09:57:28

程序员

2018-11-15 16:11:10

2011-07-07 10:14:14

编程

2011-12-20 09:01:25

.NET

2020-09-25 15:43:25

程序员网站技术

2012-07-20 11:16:26

程序员

2019-03-04 15:09:49

程序员互联网思维模式

2017-11-03 09:10:48

2014-07-16 09:34:44

2017-03-13 09:10:53

科技新闻早报
点赞
收藏

51CTO技术栈公众号