Board logo

标题: 如何阅读框架源代码 [打印本页]

作者: 维广羽    时间: 2017-8-15 20:53     标题: 如何阅读框架源代码

如何阅读框架源代码
不管对于那个段位的 Developer 来说,读源码都是一件好处颇多的事情,特别于初学者而言,这能迅速的吸纳优秀框架精华代码营养,迅速成长。不巧的是,晦涩难懂的源码,很容易让人心生怯意。今天分享就来谈一谈读源码的方法,希避孕的优缺点避孕对身体有害吗望能帮到一些有心读源码的朋友。<br>

一、了解框架解决了什么问题
吃枸杞有防治脂肪肝
这不光对读源码有帮助,对整个学习都很有帮助。思考一个问题:你学习 Vue\React 的原因,除了它们如日中天,再不学习都不好意思找工作了,还掺杂了一些它们的某些优秀特性能给我带来某某好处的思考么?

新潮的框架,开发者需要而且也应该去了解,用人单位需要当然是本能的驱动力,什么火学什么也无可厚非,但是在闷声学习之前,需要加上一层思考,相比之前的技术体系,这个框架到底解决了什么问题,优势在哪厚朴的主治功能这些病就试试厚朴吧,怀着目的去学习才不至于迷茫,例如 Vue\React 最大的优点是什么呢?组件化吧,带着框架是如何解决这个问题的疑问去学习,定能事半功倍

对于读源码来说,这一步就更关键了,如果都不了解代码是要干什么的,怎么会清楚它为什么这么写呢?再细分一下,在仔细阅读某个模块的文件的时候,也应当对模块的功能有个整体的把握

二、了解框架的设计思想

这一步尤为关键,我们看不懂源码(或者看起来举步维艰),并不是女人:请大声喊出你的需要!因为不懂某一句语法,而是不明白作者的思路。举一个简单的例子:

getAngle方法接收三个坐标参数,可以计算出足疗巧治癌症如何用足疗防治癌症 point2 顶角的弧度值,如果不告诉你这使用了运用三角形的余弦定理,恐怕你看半天也看不出来这是怎么算出来的

那么我们可以通过什么渠道去了解框架的设计思想:

到框架的官网看文档,开源的框架,甭管详不详细,这肯定是第一手权威资料

到网上搜别人的分析总结(源码分析也不会少),大多数情况下,都桂圆可以怎么吃桂圆的营养价值会有大神已经研究过了,站在巨人的肩膀上,能省不少事

另外,设计思想是整个框架层两地分居,性欲释放要有度面的,对于每一个实现细节,又会使用不少设计模式,例如函数式编程(Js 中最为常用)、单例模式、代理模式、工厂模式等等,这就需要平时的积累了。有一定代码量的积累之后,建议阅读一些设计模式类的书籍,对自己的代码设计,以及阅读别人的源码,都很有益处。

三、搭建调试环境,摸清执行主脉络

第一节我们提到,细分到每个模块,要对模块功能有个整体的把握,如何去做到这个 把握 ?除了官方文档和网上查阅排卵期有出血现象问题严重吗?的资料,最好的办法就是写一个简单的 Demo,搭建好测试环境,增加一些调试信息,自然能理清除框架的生命周期中,每一步需要调用那个模块(对于目录结构很清晰的优秀框架,有时候也可以凭直觉猜测,打印日志确认)

四、分清主次

框架源码就是一颗枝繁叶茂的参天大树,而你要做的事情是从根部网上爬。树要这么多分支,时间又是这么昂贵,阅读的策略很重要。我们的阅读路径,要以主要流程为主(也就是树的主驱赶,这样才小儿气管炎有痰怎么办?能尽可能快的到达顶点),对于一些细枝末节,再这之后再来慢慢啃(或者有必要的时候)

例如,要去阅读 Vue 的源码,有个目录是解巧做米饭,吃出健康析模板,生成语法树 AST 从而最终生成 Render Function 的, 其实这一步最关键的是这个 Render Function 的生成结果,对于如何去解析模板、生成语法树,可以先放一放,回头需要的时候再回头看。否则你很容易卡死在某个点上出不来,从而产生放弃的念头

五、输精管绝育术术前应做哪些准备?坚持不放弃

技术策略得当,遇到棘手过不去的问题也很正常,这个时候考验的就是毅力了,继续调试、搜哪些因素会影响男性精子质量索资料、或者找个大神来问一问都行,只要不放弃就好~~<br>

责编:zhangxue











http://qiye.sogooo.com/forum.php?mod=viewthread&tid=165784
http://www.jiunongw.com/forum.php?mod=viewthread&tid=53239
http://1.pigpig.net/forum.php?mod=viewthread&tid=158873
http://www.sctgxh.net/forum.php?mod=viewthread&tid=6251
http://www.aisoupai.com/forum.php?mod=viewthread&tid=572025
http://bbs.9xkd.com/forum.php?mod=viewthread&tid=2743
http://xy12.dwh027.com/forum.php?mod=viewthread&tid=5629
http://guiyangshenghuo.com/thread-870971-1-1.html
http://055888.com.cn/forum.php?mod=viewthread&tid=60301
http://gyzc.yixuncms.com/forum.php?mod=viewthread&tid=179102
http://23wz.cn/forum.php?mod=viewthread&tid=193839
http://www.51tuijianma.com/thread-35654-1-1.html
http://jyj.zlt365.com/forum.php?mod=viewthread&tid=36022
http://www.annibaby520.com/forum.php?mod=viewthread&tid=41586
http://fhtuku.com/thread-1659935-1-1.html
http://www.ahjzjunda.com/forum.php?mod=viewthread&tid=44140
http://www.klessc.com/forum.php?mod=viewthread&tid=811712
http://dglygjg.com/read.php?tid=26064&fid=2
http://www.jqwork.cn/forum.php?mod=viewthread&tid=28523
http://www.tsshanxing.com/forum.php?mod=viewthread&tid=8377





欢迎光临 万众海浪论坛 (http://1686688.net/bbs/) Powered by Discuz! 5.5.0