【发布时间】:2017-06-10 16:06:05
【问题描述】:
我正在和朋友一起做一个项目。
到目前为止,他是一个比我更好的程序员,因为我已经编程了一年多一点。
我注意到他经常从头开始构建组件和功能。在从头开始构建功能方面,我认为他几乎是一个“潮人”。
我使用 npm 库等的方法有什么缺点吗? IE。日期选择器、地图组件等?
我可能会想到的一个原因是性能可能会受到影响。加载时间会受到显着影响吗?我不是在构建一个大型应用程序,实际上我认为它很小,但是!我想知道我是不是在“作弊”,或者这会导致臃肿。
作为一个快速预览,我的基本功能目前看起来包括:
- 表情符号选择器
- 日期选择器
- Google Maps API 地图组件和地点
- 表单验证库
- 超级代理
- Moment.js
【问题讨论】:
-
这个问题对于 SO 来说可能“太宽泛”了——但是给你我的 2c。这是情景。如果一个库维护得很好,它的编码可能会比你在几个小时内自己组装的东西要好。但是,如果您没有利用该库的全部实用程序,您可能会浪费捆绑包中的空间。例如 - 如果您从 Moment.js 导入所有语言环境并使用其中的 2 个,那就不好了。
-
(ctd) 如果库可以节省您的时间,请不要害怕使用它们,但请注意您要添加到最终捆绑包中的大小,并根据节省的时间与性能做出决定。您可以使用各种工具来分析每个依赖项占用的空间。
-
您的朋友患有“这里没有发明综合症”。过度使用外部库当然是可能的;最好确保您不会为了使用其中的一小部分而引入冗余功能或引入整个库。但总的来说,库代码会比你自己的代码更久经考验和强化,这仅仅是因为更多的人使用它。
-
(我同意这个问题可能会以“主要基于意见”的方式结束,但我忍不住提出我的意见)
-
不!非常感谢你们! (我确实环顾四周,发现没有任何类似的问题,但我确实认为它可能对其他程序员有用)。感谢您的洞察力!
标签: javascript node.js reactjs npm