某框架的使用者,想看下框架运行原理,于是拉代码编译。
结果看到模块编译时发现,框架源码在编译时运行了一部分代码(不仅仅是 webpack 的打包,还运行了),然后在框架启动时运行了一部分代码(就是项目启动时,还没显示在页面上),以及在打开页面时运行了一部分。
于是一种挫败感油然而生,本以为自己水平应该还行了,结果发现运行竟然这么复杂,不知道大佬们在搞框架时候,最终是怎么研究源码的?
1 Austaras 2019-12-12 21:52:25 +08:00 哪个框架你先说名字 |
![]() | 2 orzorzorzorz 2019-12-12 21:55:12 +08:00 ![]() 看库又不是这么看的,该先搜搜别人是怎么看的,先把坑给避开了。然后去看官方文档,里面肯定会有 development 相关的东西。看完再确定自己要看什么,然后去搜搜别人怎么说的脉络,对比多家心里有个数,然后再去看代码。 你前戏都懒得做,你不疼谁疼? |
![]() | 3 tq0106 2019-12-12 21:57:47 +08:00 @orzorzorzorz 生动形象! |
4 wszgrcy OP @orzorzorzorz 当时我看源码的第一个想法是看某功能怎么实现,结果发现好像不是太难,于是就想从这个框架的启动开始看,整个流程是怎么实现的,结果就发现被教做人了。。。外围的一些封装还是能看懂的,结果看核心发现难度徒增,各种依赖都出来了 |
5 nianyu 2019-12-12 23:20:50 +08:00 引用程墨的话-----什么鸟东西需要看源码才能解决问题,那么这玩意设计的一定是烂货。 |
6 night98 2019-12-12 23:35:03 +08:00 基本上看不完,同 5 楼,非要看源码才能解决问题,那么设计的一定很烂 |
7 chenliangngng 2019-12-13 00:45:49 +08:00 via Android 以前用过某知名库,此库还有库中库,有一个库中库没有把主库的一个接口暴露出来,导致相应功能无法覆盖所有有场景。 为了修复这个问题引发的 bug 盯着电脑一行行代码看了两天,各种回调跳来跳去,两天总共就看了不到 1000 行不到 10 个函数。 要真的想慢慢研究一个库,你最好准备一副抗蓝光眼镜 |
![]() | 8 ansonsiva 2019-12-13 08:32:44 +08:00 via iPhone @chenliangngng 原来我不是一个人 |
9 hyperbin 2019-12-13 08:59:44 +08:00 via Android 有个份心的话会有那么多的库引用 left-pad 模块吗 |
10 KgM4gLtF0shViDH3 2019-12-13 09:21:32 +08:00 |
11 enjoyCoding 2019-12-13 16:25:34 +08:00 看完? 看不完的 把 package.lock 打开都看看多少库... 我不看 看也看核心的诸如 axios lodash,而且更多的关注设计模式而不是比较细节的地方 react 和 vue 我都觉得不用自己看 靠别人喂都喂饱了 |
![]() | 12 shunfy 2019-12-13 18:49:34 +08:00 不可能看得完吧? 除非你是神, 记忆力超群的神 |