对阅读源码的一点理解

作者: 橙小张 | 来源:发表于2017-07-23 09:36 被阅读74次

    1、不要一味的看源码,如果有书籍的话配合书籍阅读
    2、如果阅读的源码代码量不是很大,并且作者有书籍或者博客专门讲解或者是源码中的注解很清楚,这种阅读起来会很有效果,也是推荐刚开始阅读源码的同学阅读的。

    阅读源代码的技巧,以一个小的框架为例:

    • 代码的类在100-150个之间,代码是有时间全部阅读并且可以仔细阅读的。
    • 代码版本如果分为1.0和2.0,首先阅读1.0
    • 作者有书籍或者博客作为讲解,这样最好,跟着作者思路阅读就可以,注意的几点问题:
      • 你和作者的编码技术水平不在一个线上,作者里面的有些知识点(例如Web框架中要对Servlet请求比较熟悉,用到了反射的一些特性,依赖于JDK一些底层库的API)作者可能不会专门去讲解。
      • 看书或者是看博客获取的信息后加上自己理解有可能和作者的不一致
    • 了解这个组件(阅读的源代码)的一些特性和要解决的问题,例如一个Web框架他要解决那些问题,并且它有哪些特性,和他类似的技术有什么差异和相同点(至少是自己熟悉的),例如他和SpringMVC(我想对比较熟悉)的差异和相同点。
    • 用到的一些类库,例如依赖于基础库apache的一些库,Servlet-API等,要对这些基础库有一点了解。
    • 不要寻求一个大而全的概念,这不是写代码应该有的,从若干个小点依次进行阅读(最好是带着问题),例如看到Spring代码,是应该看spring-core还是spring-mvc还是spring-data呢?并且spring-core中是看spring-bean还是spring-context呢?首先应该明确组件之间的层次关系,例如如果学习JDK Collection应该是先从Collection->Set(List)->ArrayList(HashSet)这样的顺序开始。
    • 带着两个问题来阅读代码:
      • 要解决的问题?
        • 我遇到的是什么问题?
        • 我想的解决方案是什么?
        • 他会是怎么解决的?
      • 我要学到什么?
        • 健全的异常处理
        • 设计模式的灵活运用
        • 优雅的代码风格
        • 他的编程技巧
        • 解决问题的思路
    • 基础:理论结合实践,现有理论,然后再去实践
      • 例如阅读Springmvc应该大致了解下Servlet规范的原理和Tomcat的大致运行流程,并且应该知道一点HTTP协议的一些知识,并且有一些实践,例如SpringMVC怎么接受请求,怎么接受参数,怎么处理请求以及怎么响应请求的。
      • 例如阅读Spring应该知道IOC和AOP的概念,并且知道一点设计模式的知识,并在此基础上有过对其的一些实践。
    • 从入口处看源码
    • 找源码中共同的点,例如Spring中继承Aware接口的接口一般都只有一个方法,并且大多是生命周期方法,spring处理JSP,Thymeleaf等一些相同点,但是也要对比它们的不同点,例如@Autowired和@Resource都可以实现注入,但是他们有什么不同点等等
    • 处处留心皆学问
    • 不要为了阅读源码而阅读源码
    • 先占个坑,想起来其他的再补......

    相关文章

      网友评论

        本文标题:对阅读源码的一点理解

        本文链接:https://www.haomeiwen.com/subject/cjlpkxtx.html