为什么 left-pad 只有 11 行代码,也能成为众多库的依赖?

2016-03-24 09:57:57 +08:00
 mthli

首先申明,本人没怎么写过 JS ...

https://github.com/azer/left-pad

不算空行的话, left-pad 真的只有 11 行,当然再处理一下可能几行就搞定了。

那么问题来了,为什么这么短的代码,也能成为众多库比如 RN 的依赖?

难度人们已经懒到这种程度了?

12329 次点击
所在节点    Node.js
52 条回复
aivier
2016-03-24 11:58:10 +08:00
@xgfan 对于那么多昨天出设计图今天出模板明天晚上就要上线的产品还真没那么多时间考虑这些....
jsonline
2016-03-24 11:59:57 +08:00
楼上们,请问多少行才能作为包?
mthli
2016-03-24 12:02:00 +08:00
@allan888 如果是我的话,这样的代码更偏向于直接拷贝到项目中,不是很喜欢很多依赖,对项目的掌控性更强吧。
ChiangDi
2016-03-24 12:06:30 +08:00
@jsonline 1 行
learnshare
2016-03-24 12:09:52 +08:00
复用代码, npm 就是为了这种需求才存在的
zhujinliang
2016-03-24 12:11:20 +08:00
@allan888 有道理
ibigbug
2016-03-24 12:28:20 +08:00
@allan888 这个库优秀在哪了
ibigbug
2016-03-24 12:28:58 +08:00
@martianyi 当然有区别, 1 === 10000?
MaiCong
2016-03-24 12:38:07 +08:00
懒癌,现在随随便便安装一个模块, node_modules 里面全是一大堆的依赖。
martianyi
2016-03-24 12:55:27 +08:00
left-pad :怪我咯
bramblex
2016-03-24 13:15:41 +08:00
我还真不知道有这种东西,我都是自己手写的。

然后我自己写的是给一个 block 加 left pad 的……比他不知道高到那里去了 /w\
msg7086
2016-03-24 13:28:27 +08:00
@mthli 拷贝到自己的项目当然可以了。
然而上游的错误修复你来跟进?
一个项目引用十几个小包全部你来跟进,那上班还要干其他活么。
如果特别闲的话当然是可以这么做的。
sox
2016-03-24 13:31:09 +08:00
NPM 是辣鸡,现在开始使用 Twitter 作为包管理系统

https://gist.github.com/rauchg/5b032c2c2166e4e36713
mthli
2016-03-24 13:34:48 +08:00
@msg7086 这要权衡利弊吧。没有足够的理由说服我自己能引用这样的库到项目里。而且出了错自己也能很快定位。
allan888
2016-03-24 13:37:53 +08:00
@ibigbug 没说他优秀。
我是说你尽量都用库“一般来说”“至少”不会比自己写的差。
而且在某个你认为很简单的没几行的库里面,你很可能已经享受到大神写的算法带来的好处,这种没必要去一一鉴别,只需要从统计角度来说用库更有好处就足够了。
msg7086
2016-03-24 13:38:33 +08:00
@mthli 公共的东西提取出来模块化对构建大型软件有帮助。
就算是你自己写一份,通常也是提倡封装成单个 library 或者库的,也就是像这位库作者一样单独拉出一个项目来。
poke707
2016-03-24 13:49:50 +08:00
@sox 我想起了有个 twitter-sort
mthli
2016-03-24 14:01:24 +08:00
@msg7086 其实要做类比的话, left-pad 可能就是 Apache Commons 里面的一个方法而已..
fanTasy
2016-03-24 14:03:46 +08:00
@sox 然后这条推被删了就懵逼了 23333
poke707
2016-03-24 14:05:33 +08:00
先不说 NPM 。若在多个项目之间有复用模块的需求,只是 copy-paste 到代码里面,有修改的时候每个项目都要改一次,你不希望让维护更简单高效吗?

NPM 可以是一种方案,怕被撤了被黑了或想要掌控的话可以自建 registry 。

不过主题说的意思貌似是 LOC < x && 'too simple' 所以是否应成为模块。这个 1L 可解答。

理解错了还望指正。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/265948

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX