在搬砖日常中,不知道大家是否经常有这样的困扰,为了使用一个函数将整个库引入,造成依赖过多,甚至滥用,以至于 npm 生态形成了一种依赖滥用的习惯,left-pad 事件是这种现象的一个侧面。
有些函数,其功能非常 pure,例如浏览器 URL 的处理函数,通常的做法是在 Stack Overflow 找一些现成的实现。举一个例子,以下代码可以得到一个 URL Query 字典:
function getQueries() {
let options = {};
if (window.location.search) {
options = decodeURIComponent(window.location.search.slice(1))
.split('&')
.reduce(function _reduce(a, b) {
b = b.split('=');
a[b[0]] = b[1];
return a;
}, {});
}
return options;
}
按照常识,这是有最佳答案,即一个已解决的问题(当然,目前主流浏览器中可以使用 URLSearchParams
,但仍需要 polyfill https://caniuse.com/#feat=urlsearchparams ),而不是一个应在 Stack Overflow 搜索的问题。
出于对代码库透明性的追求,我倾向避免使用细碎的依赖,建立自己的 Util 库。但碰到类似以上举例的新问题时,往往仍需要求助于搜索引擎,而搜索引擎指向的 SO 问答或者博客质量参差不齐,需要自己的甄别。
请问大家是如何解决这一问题,或者有哪些平台已经解决了这个问题?
如果没有,我想这是一个不错的点子。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.