Translate-CS 板


LINE

blog 版:http://blog.dontcareabout.us/2015/02/library.html BBS 版以 markdown 语法撰写 原文网址:http://games.greggman.com/game/ when-to-find-a-library-vs-when-to-write-code/ 译注:我几乎完全不认同这篇的说法, 更不用说 [HappyFunTimes] 也是一个 library [大笑]。 只是拿来恢复一下翻译的感觉... 身为一个 C / C++ 码农,除非是很大的 project,不然我很少找 library。 举例来说,如果我需要读 BMP / TGA 档,帐面上要写的程式码不到 100 行。 看一下资料格式、写一些程式、打完收工。 要是我需要载入 JPG / PNG 这些格式异常复杂的档案, 我终究会去找一个 library。 我现在写 JavaScript 就不太一样, 在 JavaScript 的世界中有数以万计[针对各种状况的小型 library][1], 让我不知道该自干程式还是找找看有没有 library。 这常常让我觉得很浪费时间。 例如我要有一个非常简单的功能:把字串里头的关键字换掉: replaceParams("Hello %(name)s", {name: "World"}); // produces: // Hello World 後来为了可以这样搞,所以拓展到 20 行: replaceParams( "Hello %(name)s from %(user.country)s", { name: "Joe", user: { country:"USA", }, }); // produces: // Hello Joe from USA 最近我希望可以用路径插入其他档案,像这样: replaceParams("->%(insertfile: foo/bar/moo.txt)s<-"); 如果 `moo.txt` 里头是 `this-and-that`,结果会是: -->this-and-that<-- 只需要几分钟的时间就可以加这个功能, 但是... JavaScript 中的 template 系统超级多, 我建一个 template 很快。 也许我应该去用那些 template 系统而不是重新再造轮。 那麽,第一个问题是:要用哪一个? 我听过 mustache、handlebars、jade、ejs...... 为什麽要选 A 而不选 B? 我花了大概 20 分钟搜寻、试图比较... 来让我知道哪一个比较优秀。 我看到「ejs = 嵌入 JS」看起来很像 PHP; 我看到 handlebars 是以 mustache 为基础但是快了很多。 我决定用 handlebars、花了大概 20 分钟来改程式码, 它输出相同的结果,一切看起来很棒。 然後我试着加上我那个 `insertfile` 指令, 靠夭,炸了 AFAICT,除了关键字以外都没办法传进 template 中。 现在已经过了一小时了,谁能告诉我为什麽我要再作一次这件事情? 这就是为什麽写这篇文章《啥时找 library?啥时自干?》。 当然,在这个例子中, 如果我不去找 library 就可能只会花掉我 5~10 分钟。 我选用的 library 有一些功能,像是可以扩展功能... 自干版当然也可以加功能。 另外它可以选择要不要转换跳脱字元, 自干版当然也可以有这个功能。 我其实没有答案...... 我知道的是... 找 library 让我觉得分心、浪费时间。 前头我很夸张地描述许多我下载的热门 library 证实是烂掉的, 时间都花在找寻、设定跟测试。 相对地,也有人告诉我应该使用更多 library。 像最近在 [HappyFunTimes] 就有人说我应该用 [body-parser] 来自动分析 JSON 而不是自己处理。 我的程式有 5... 也许 10 行,但是 body-parser 有 2000 行。 好啦好啦,它能处理一堆 case, 但是这些 case 在 HappyFunTimes 几乎都不会遇到。 我试了 body-parser 结果发现它也没有处理我没法处理的错误。 如果我能解决这些错误,在网路上找答案是不会解决的, 只会找到谁也遇到这个问题而且一样没办法解决。 我想用 library,因为我会假设他们处理一些我不知道的特殊状况。 不过它们搞出来的麻烦往往多过它们的价值。 [1]: http://npmjs.org/ [HappyFunTimes]: http://greggman.github.io/HappyFunTimes/ [body-parser]: https://www.npmjs.com/package/body-parser -- 钱锺书: 说出来的话 http://www.psmonkey.org 比不上不说出来的话 Java 版 cookcomic 版 只影射着说不出来的话 and more...... --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.37.88.218
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Translate-CS/M.1425017911.A.F3A.html
1F:推 AmosYang: markdown is dead. long live commonmark :D 03/01 00:55







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP