为什么会有一行式的模块? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sox
V2EX    Node.js

为什么会有一行式的模块?

  •  
  •   sox 2016-09-06 20:24:06 +08:00 4543 次点击
    这是一个创建于 3327 天前的主题,其中的信息可能已经有所发展或是发生改变。
    26 条回复    2016-09-08 16:34:02 +08:00
    loading
        1
    loading  
       2016-09-06 20:26:29 +08:00 via Android
    我认为对一个原创版权的尊敬。

    不然自己复制下来就好了。
    Tyanboot
        2
    Tyanboot  
    PRO
       2016-09-06 23:39:18 +08:00 via Android
    我目前是对这种一行式模块持不理解态度,我个人觉得如果一点小事都要去找个模块的话,是不是一种“懒”?而且过度依赖这些东西的话…可能学不到什么更深的知识…

    当然有可能我以后会改变这种态度…
    wweir
        3
    wweir  
       2016-09-07 07:26:11 +08:00 via Android
    作为程序员不该保持一颗学习的心吗?
    调用别人的简单模块我可以接受,但这篇专栏满嘴的我们只要会引用模块、调用 API 就行,其人之道可见
    lxrmido
        4
    lxrmido  
       2016-09-07 08:56:02 +08:00
    @wweir

    赞同
    ChiangDi
        5
    ChiangDi  
       2016-09-07 08:57:04 +08:00 via Android
    关键是找不到一行的小模块不好找。。。 npm 搜名字??
    ChiangDi
        6
    ChiangDi  
       2016-09-07 08:58:07 +08:00 via Android
    @ChiangDi 打错字(#-.-)反正就是不知道有这样的模块存在
    daggerjames
        7
    daggerjames  
       2016-09-07 09:47:55 +08:00   1
    比编写一行式模块更难的,是找到已经完成你想要功能的模块。而通常找到这个模块的代价要大于直接写,所以这种一行式模块就会重复制造。。。
    sox
        8
    sox  
    OP
       2016-09-07 09:57:20 +08:00 via Android
    @wweir 你去喷 @sindresorhus
    icris
        9
    icris  
       2016-09-07 10:01:10 +08:00
    价值在于它可能不是一直只有一行,后续会有完善改进扩充,比如最初只有一行的 https://github.com/jezen/is-thirteen 现在还有 107 个 pr
    sox
        10
    sox  
    OP
       2016-09-07 10:06:37 +08:00 via Android
    @ChiangDi
    @daggerjames

    没人会专门找只有一行的模块吧…

    所以平常的积累也比较重要,比如关注下 github trending 、 changelog nightly 啊什么的,临时找确实不如自己写来的快。
    sox
        11
    sox  
    OP
       2016-09-07 10:14:12 +08:00 via Android
    @wweir 你可能不知道原文作者说这个时候的 context ,每 9 个 npm 包就有一个是他写的,他是想说模块化你的代码可以让你在完成某个功能的时候不用过多考虑其它功能实现的细节还有测试等等。
    qnnnnez
        12
    qnnnnez  
       2016-09-07 10:19:17 +08:00 via Android
    @icris 高级黑?
    adoyle
        13
    adoyle  
       2016-09-07 10:25:33 +08:00
    @icris 这个 repo 真能折腾...
    ChiangDi
        14
    ChiangDi  
       2016-09-07 12:58:44 +08:00 via Android
    @sox 所以你能不能开个专门介绍小模块的专栏,一天介绍一个小模块,让大家积累下
    hronro
        15
    hronro  
       2016-09-07 13:01:23 +08:00 via Android
    @wweir 专栏作者应该就是楼主吧
    zcbenz
        16
    zcbenz  
       2016-09-07 13:08:22 +08:00
    十几行以内的小函数,最好还是自己写一遍。随便用第三方的模块,你以为只是导入了十几行其他人的代码,其实你还引入了来自第三方的 bug 和几十个新模块。
    sox
        17
    sox  
    OP
       2016-09-07 13:57:42 +08:00 via Android
    @ChiangDi 这个专栏就是准备干这个的,当然不只是小模块
    annielong
        18
    annielong  
       2016-09-07 14:40:44 +08:00
    要看情况而定,大家都说不重复造轮子,但是也要看看轮子装上合适不合适,轮子上拉了条绳子连着有一大堆轮子,你觉得直接装车上能行吗
    magicdawn
        19
    magicdawn  
       2016-09-07 15:12:10 +08:00
    @zcbenz 来 `require('./electron')`
    miaoever
        20
    miaoever  
       2016-09-07 15:41:34 +08:00
    类型代码行数很少的模块, 相当于远程存储的“库函数”, 你需要调用库函数的时候引入进来就好了,这和你调用系统内置库函数是同样的概念(比如 toUpperCase(), split() 等等)。只是很多这类“库函数”的质量确实堪忧。
    ispinfx
        21
    ispinfx  
       2016-09-07 15:45:44 +08:00
    @icris 这个 logo 看着, i SB.
    viko16
        22
    viko16  
       2016-09-07 15:48:32 +08:00
    其实得怪 js 没有标准库..
    wweir
        23
    wweir  
       2016-09-07 17:30:13 +08:00
    @sox 哦哦,大牛啊
    有这样的大牛给前端们撑腰,还有什么好学的,学个 J8
    sox
        24
    sox  
    OP
       2016-09-07 18:20:39 +08:00
    @wweir 不知道你为什么又冒出 ‘前端’ 这两个字 lol
    littleshy
        25
    littleshy  
       2016-09-08 09:49:04 +08:00
    模块化是好事,但感觉 node 做得太过了……
    xcodebuild
        26
    xcodebuild  
       2016-09-08 16:34:02 +08:00
    没有模块不过也是 C-c C-v ,其实主要怪 js 没有标准库 +1
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4708 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 34ms UTC 01:06 PVG 09:06 LAX 18:06 JFK 21:06
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86