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`,结果会是: