谈学习:读源码
小弟交日报,说看backbone和underscore的源码看不懂,我回了邮件给他,摘录于此,表达我对“读源码”这种行为的看法。
我不赞成新人以“读源码”的方式进行学习,因为相比于看文档、看范例、实操开发,“读源码”的效率实在太低了。
这是有原因的:
- 对于大部分新人来说,多半“单看每个字都认识,全放到一起就不知道啥意思了”……速度上不去,只能看懂“How”,无从知晓“Why”。最后虽然知道原作者用的A方法、B方法、C方法,但到实战的时候,还是不知道怎么做。
- 流行的库和框架,大都经历过数年的升级演变,甚至几千次提交,和早年刚出现时相比面目全非,逻辑也不再是浅显易见的。“读源码”不包含演进的过程,上来就是别人提炼过、推导过的精髓,更加难以理解。
- “读源码”难以获取成就感,因为成果难以衡量,里程碑难以界定,学到多少东西更是只有本人知道。把这个当某天的内容报告给领导,等于明确表示自己工作量不饱和,很可能招致领导的不满。
源码完全不该读么?自然不是。那么什么时候读呢?当技术精进到一定程度,或者业务诡异到一定程度,我们自然会遇到前人没有遇到过的问题;或者发现文档中语焉不详的地方。这个时候只能通过阅读源码找答案,而且这个时候读源码也是很合理高效的。因为:
- 很可能读源码是唯一途径。
- 带着问题去读,目标集中,效率会很高。已经知道了“Why”了,只关心“How”。
- 解决目标问题的过程中,可能学到很多之前不知道的东西。
翟路佳
前端为主,包括但不限于 HTML,CSS,JavaScript,移动端,微信开发。偶尔会有 PHP 和服务器相关内容。 ...
推荐阅读
四月 AIGC Hackathon 参赛记
春节过后,ChatGPT 彻底出圈,带动整个 AIGC 领域备受瞩目。于是乎各项赛事活动纷纷上马,都想抢先收割一波流量,也抢先开始对未来的探索。我也积极报名参加,一不小心报了三个 Hackathon 之多:
Meathill赞 7阅读 1.1k评论 3
使用 Z-Library+Calibre+静读天下+坚果云,构建自由可控的数字图书馆和云同步阅读方案
在放缓文章更新速度的这两年内,笔者不少的时间都花在了阅读和学习上,尤其是对社科、心理学、哲学、历史等学科的学习。起初为了方便获取书籍资源和方便的云同步,笔者选择了在用户体验和出版物数量上首屈一指的...
路人甲的世界阅读 614
技术内幕|StarRocks 标量函数与聚合函数
函数就像预设于数据库中的公式,允许用户调用现有的函数以完成特定功能。函数可以很方便地实现业务逻辑的重用,因此正确使用函数会让读者在编写 SQL 语句时起到事半功倍的效果。StarRocks 提供了多种内置函数,包...
StarRocks阅读 319
StarRocks 源码实验室 EP.1—— 内置函数
引用阅读源码是开发者深入了解一个项目的好方法,不仅可以更好地理解程序的逻辑和实现方式,对于调试和修改代码也非常有帮助。对于想要加入 StarRocks 社区贡献的小伙伴来说,这是必要的学习之一,因为了解 StarR...
StarRocks阅读 305
源码阅读:go-zero的core/conf包
这个代码库主要用于加载和解析配置文件,支持 JSON、TOML 和 YAML 格式。主要功能包括从文件或字节数据中加载配置、填充默认值以及处理配置数据的键大小写。代码的主要结构和函数如下:
wric阅读 299评论 2
💻4招让AI工具改变研究生学习习惯~
图源 Marvin Meyer (Unsplash)随着技术的进步,人工智能(AI)在教育等行业中变得愈发重要。事实证明,对于学生来说,尤其是对于需要进行研究和分析大量数据的研究生而言,AI 是一种有价值的工具。AI 工具在研...
妙记多Mojidoc阅读 292
直播源码录制技术的实现
在上网看直播或者视频的时候,你有没有这样一个烦恼:当遇到想看的直播但却没时间去看,或者想把喜欢的视频存到手机上分享给别人,但却不能下载存入手机。每到这时候我们都会使用目前市场上非常流行的一个直播源...
山东布谷科技阅读 122
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。