不太懂你们前端和所谓的 one-line module

2016-03-24 13:20:39 +08:00
 menc

leftpad 这种,一个函数搞一个模块,你们说用的多,所以搞一个。 那么是不是字符串每个常用的语言不存在的函数,你们都要搞一个 module 出来?

那么假如,我要把 node 用在科学计算,我是应该用到一个公式就写一个 module 呢:

还是,我应该慎重一点,把他们打包成一个 math-util ?

回到 string 的话题,是应该弄一个 string-util ,然后欢迎大家来贡献代码呢? 还是应该弄一个 letfpad , rightpad , middlepad (仅仅举例)等等等等一堆 module 呢?

3944 次点击
所在节点    问与答
32 条回复
sox
2016-03-24 13:25:13 +08:00
你没搞清楚上下文啊,你如果永远只维护一个模块的话干嘛分成无数个小模块呢。

这 和前端什么关系?

你模块化的初衷是方便自己使用,谁一开始就是为了 让大家来贡献代码的,你知道 GitHub Gist 吗。

https://github.com/sindresorhus/noop3
sox
2016-03-24 13:29:14 +08:00
有传言称, Twitter 将成为世界最大包管理系统(笑

https://gist.github.com/rauchg/5b032c2c2166e4e36713
fds
2016-03-24 13:54:29 +08:00
都可以。大库分拆、小库合并都很常见。懒得用别人的就自己写,懒得自己写就用别人的,有啥关系。
SpicyCat
2016-03-24 14:24:22 +08:00
当然可以按你的设想来,甚至你现在就可以动手做。但是开源软件的特点是不是“设计”,而是逐渐“进化”的。相信当初 leftpad 也没想到会那么流行,既然流行了就说明大部分人认可这种形式。
如果你的包更好,并且能流行起来,那就按你的来喽。
ianva
2016-03-24 14:59:37 +08:00
leftpad 这个库有这么多 star 真是奇葩, underscore.string 的项目里就有单独拎出来有什么意义么,就 10 行代码随手就写的出的,如果说懒得鞋直接引用通用性的 underscore 就好了
ChefIsAwesome
2016-03-24 15:03:57 +08:00
v2 真是奇葩。国外讨论的重点是 npm 的中心化问题。这边在讨论人家区区几行代码配不配发布到 npm 上。
rokeyzki
2016-03-24 15:08:25 +08:00
@ChefIsAwesome 国人的尿性,老美喜欢讨论规则,我们喜欢讨论资格
junp
2016-03-24 15:18:04 +08:00
@ianva web 端,如果只用到 underscore 的一个函数,就要加载整个 underscore ,不合适。
Pastsong
2016-03-24 15:19:31 +08:00
menc
2016-03-24 15:22:21 +08:00
@ChefIsAwesome
奇葩?
你知道写 CPP 如果一个库文件只有一个函数,你会被打的么?
一个中心化不中心化的包管理器是自由软件精神的问题。
一个一个函数甚至一行代码的 module 是软件工程的问题,你怎么就这么有优越感呢,外国的月亮就是圆的?
ChefIsAwesome
2016-03-24 15:31:27 +08:00
@menc 谁打?你打,我打,还是找个评测组每天审核想在 npm 上发包的人,谁代码写的少就打谁?忽略重点,胡搅蛮缠。
menc
2016-03-24 15:33:42 +08:00
@ChefIsAwesome 已 block
ianva
2016-03-24 15:42:07 +08:00
@junp 当然也可以如 lodash.xxx 这种发布,但如果单一来,太散,之前 NPM 3 后随便构建一个项目,点开 node_module 的时候卡了一下, 自习一看,超过 600 个目录。。
100M+ 的大小,真有点过了,不说维护什么的,如果第三方库分散成这样,你找个文档都是个费劲的事
当然这个趋势下去肯定会有个把 node_module 下所有包的文档打包成一个 Dash 的项目出来
ianva
2016-03-24 15:54:44 +08:00
自己也写过 one-line module https://github.com/ianva/git-rill
当时在 V2EX 上还被嘲讽了
hronro
2016-03-24 16:12:13 +08:00
那个 noop ,真的有必要吗
sox
2016-03-24 16:38:53 +08:00
hronro
2016-03-24 16:52:15 +08:00
@sox 没有看不起这种做法的意思,只是我现在确实还不能理解
sox
2016-03-24 16:58:22 +08:00
@hronro 并不是指你,大概这个意思而已。😂
akira
2016-03-24 17:32:33 +08:00
目前的情况应该是说,人们是挺喜欢 one line module 的,
至于为什么,这样好不好,那是另一回事了。
plqws
2016-03-24 18:24:35 +08:00
楼主就是来引战的,看楼主的回复,说白了就是来开嘴炮嘲讽现代 JavaScript 大生态和 JavaScript 开发者而已。已 Block 楼主,我一直很不主张 Block ,但是嘛,翻了翻楼主的帖子,看起来也不像是那种会发出什么有价值内容的人,所以 Block 了并不可惜。好自为之

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

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

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

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

© 2021 V2EX