源码解读这半年

作者:韩子迟

What?

不知不觉间,「Underscore 源码解读系列」进入了真正的尾声,也请许可我末了一次 po 下项目的原始地点 https://github.com/hanzichi/u…

这半年以来,花费了大批的业余时间,总计写了 25 篇漫笔(包含此文),也给 underscore-1.8.3 的源码加了差不多 1500 行 解释,关于当初说的要做「史上最细致的 underscore 源码理会」,至此我也以为心安理得。

本文不想说我在这个历程中学到了什么,学到的东西,能写的都在前面 24 篇漫笔中了,只能领悟的我也说不出来(感想最深的是闭包的壮大)。本文是一篇「水文」,不谈手艺,抛开代码,听楼主扯扯淡。

Why Underscore?

初期的几篇漫笔都有「Why Underscore」这一节:

浏览一些有名框架类库的源码,就好像和一个个巨匠对话,你会学到许多。为何是 Underscore?最重要的原因是 Underscore 简短精干(约 1.5k 行),封装了 100 多个有效的要领,耦合度低,异常合适逐一要领浏览,合适楼主如许的 JavaScript 初学者。从中,你不仅能够学到用 void 0 替代 undefined 防止 undefined 被重写等一些小技能 ,也能够学到变量范例推断、函数撙节&函数去抖等经常使用的要领,还能够学到许多浏览器兼容的 hack,更能够学到作者的团体设想思绪以及 API 设想的道理。

实在这并非直接原因,「导火索」是当时(三月末)进修函数撙节和函数去抖的时刻,发明许多文章殽杂了这两个观点,相识到 Underscore 封装了这两个函数,然则一用却发明了它的 BUG!(详见 一次发明underscore源码bug的阅历以及对学术界『拿来主义』的思索 一文)

Underscore 早些年就打仗过,对其的相识也仅限于「一个轻盈的东西库」,会不会另有其他的 BUG?同时源码这么短(之前想过看 jQuery,被靠近 1w 行吓返来了),耦合度低(能够一个个要领离开看),也进一步激发了通篇解读的兴致,想着这一路下来一定能学到不少东西。好东西要与人人分享,同时一定了写系列文章的 idea。

Where to write?

那里写?想都没想就一定了主疆场 GitHub。之前我是不玩 GitHub 的,如今已离不开了,天天不刷个几十次都手痒。为何一定在 GitHub?来由很简单,GitHub 有逼格啊(毕竟是环球最大的同性结交社区)。

固然,酒香也怕巷子深,写完了没人看无疑是对自信心的极大袭击,同时也须要人人来提出珍贵的看法。为此,险些每一篇完成后,都会在以下渠道分享:

实在重要就是前三个,背面两个用了一段时间觉得不大好就不用了。极客头条个人觉得分类有点乱,同时由于是 CSDN 旗下的,个人对 CSDN 没太多好感;干货集中营的话,维护者是「daimajia」大大,觉得挪动开发者关注的会比较多。

分享的话,假如脸皮厚的话,也能够在微博艾特一些圈内大大们(楼主脸皮比较薄 …)。

固然,我不仅在 GitHub 的 issue 里写,还在以下一些渠道写:

简书的话,背面断断续续不更了,个人喜好特地的 IT 类博客,而且以为简书的 Markdown 衬着有题目,为何都说它的 Markdown 体验好 … sf 和 伯乐在线 的话,浏览量照样能够的,只是它们不是特地做博客体系的,基本的分类归档功用都没有(或许是我没找到?),今后应当照样会以博客园为重要疆场。

Then?

underscore.js 的源码解读画上了句号,接下去干吗?实在楼主对以下几个库也挺感兴致的。

End

那就如许吧,749 Star / 140 Watch / 153 Fork 算是对我的一定和勉励吧 ^_^

或许我韩子迟还会返来的!

    原文作者:fish
    原文地址: https://segmentfault.com/a/1190000007359423
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞