刷过一千道算法题,但是看不懂 Vue 源码。

2020-04-27 10:49:37 +08:00
 iDontEatCookie

干了快三年的前端,一直都是自学,做些无聊的 to B 项目。

喜欢刷算法题,水平不是特别高,但也刷了快千道题了。

以前经常听别人说算法才是关键,算法好的人上手工程也快,设计模式我也学过,结果工作这么久连个源码都看不懂。应届生学弟都看完 React 源码了,我看了好几次 Vue 也看不懂,看了各种讲源码的文章也迷迷糊糊,感觉自己好废物。到底怎么样才能提高阅读源码的能力。

10522 次点击
所在节点    程序员
61 条回复
heiheidewo
2020-04-27 10:52:48 +08:00
算法题是怎么刷的?有参考别人的解题报告吗?
murmur
2020-04-27 10:53:54 +08:00
b 站有个 vue 代码讲解的视频(版权问题,你看的随时可能被删,如果好建议购买正版,作者已经开始讲 vue3 了),我是跟着讲解看的,这东西自己找入口太累,跟着别人的视频思路清晰直切重点
dxc190749
2020-04-27 10:57:23 +08:00
划水划太多了吧,学会独立思考呀
Curtion
2020-04-27 11:00:40 +08:00
和算法没什么大关系吧应该,这种库比较完善,既然比较完善就有很多细节操作,这些细枝末节虽然必不可少,但是在看源码时却是累赘,所以要忽略这些东西,建议先看轻量级实现,例如: https://github.com/DMQ/mvvm,然后再去看 Vue 源码,而且要有目标,否则就会在源码中东跳西跳中迷失自己,要看初始化过程就只看这个,要看依赖收集就只看这个,一旦跑题就点到为止。我最近也在看,加油!
zhengjian
2020-04-27 11:03:46 +08:00
佩服看完 React 源码的应届生学弟。
chenjunyue520
2020-04-27 11:04:03 +08:00
刷算法题和 看源码有什么直接关系么。 你带着问题看源码,会比较有收获,如果是无目的的看,应该都是会很难看下去的吧。比如,卧槽,这个咋实现的。。然后直奔代码。
iDontEatCookie
2020-04-27 11:07:55 +08:00
@heiheidewo #1 一般想了一小时想不出,或者自己的解法速度比较慢会看别人的代码。
iDontEatCookie
2020-04-27 11:09:01 +08:00
@murmur #2 谢谢 我搜了一下有好多 感觉大部分质量都不太好的样子 能给个 Av 号吗
ericls
2020-04-27 11:09:26 +08:00
面试过很多这种

其实就是脱离了实践 学算法学成奥数的。

忘记算法这回事先 不要因为会算法就把一切问题往算法上套。

我觉得算法就像工程里的力学 它很重要 但是很片面 造一个房子你还要考虑审美 跟环境的结合 跟周围建筑的结合 用户的习惯 甚至还要考虑风水。
fool079
2020-04-27 11:10:22 +08:00
看完 react 源码的应届学弟是什么神仙。。
iDontEatCookie
2020-04-27 11:10:40 +08:00
@dxc190749 #3 确实划了很久 独立思考只什么呢?

@zhengjian #5 我也佩服 他进了一线大厂
iDontEatCookie
2020-04-27 11:13:03 +08:00
@Curtion #4 谢谢你 我研究一下。
iDontEatCookie
2020-04-27 11:16:47 +08:00
@chenjunyue520 #6 主要总有人说你算法那么厉害 看源码很容易 我不知道怎么解释 因为我真的努力去看了 确实不会。大神学弟也是这么和我说的,要有目的的去看。但我还是在源码中迷失了自己= =
jmc891205
2020-04-27 11:17:44 +08:00
为了看懂 Vue 源码而去学算法?
那你可能方向搞错了。。。
geniusmyn
2020-04-27 11:19:57 +08:00
@murmur 链接?
wangxiaoaer
2020-04-27 11:27:26 +08:00
正常,估计我的项目代码你也看不懂。
nianyu
2020-04-27 11:28:14 +08:00
因为你被骗了,现在的风气就是鼓吹算法。骗你刷算法刷多了你就什么都会了。
VDimos
2020-04-27 11:31:11 +08:00
看完 react 源码的应届生是什么神仙
maichael
2020-04-27 11:37:23 +08:00
看源码本身不是有多难,难的是在找切入点上。
crackhopper
2020-04-27 11:43:13 +08:00
工欲善其事必先利其器。你把调试的工具搞清楚明白,掌握一些基础原理:编译、设计模式。然后顺着 debug 工具的流程看,接着站在全局梳理,最后每个子模块梳理。就搞定了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/666515

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX