【分享】如何阅读源代码?

经常有一些朋友私信问我如何阅读一些框架的源码,问的还比较多,就再分享一下心得。

无论是JDK中常用类的源码,还是常用框架的源码,都是经过开发者深思熟虑、不断完善才形成的,所以想要理解当时作者的设计意图和思想不是很轻松。

看源码首先需要找到入口,顺着口子不断深入,可以通过断点调试跟踪线索。读源码守则第一条,切勿急躁,因为急也没用,要的就是慢功夫细读;第二条,切勿贪多,刚开始不要太在意细节,因为你可能会陷入细节中,若此时遇到更加难懂的细节,不仅会挫败你的兴趣和信息,还很耽误时间,不要急着把所有细节都弄的都很明白,第一次读先把大略思路弄明白,理出主干思路,第二遍读可以琢磨细节,有对应的细读;第三条,勤思考,读到和自己思路不太符合的时候勤思考为什么这么设计、用到了哪些设计及思想;第四条,可以配合一些书籍或博客对应着看,当遇到不会明白时还可以快速得到解答。

举个例子,读Spring框架源码,可以以BeanFactory bf= new XmlBeanFactory(new ClassPathResource("applicationContext.xml"))为入口,深入源代码中阅读实现细节,你首先会看到applicationContext.xml的加载,接着你会看到对XML文件的验证及解析,然后解析获取bean信息、注册BeanDefinition。这一段阅读过程会看到很多实现细节,比如XML的验证、解析等,可以先不要深入研究具体的实现细节,知道大体的实现即可,这样可以快速的掌握整体结构,等整体骨骼结构弄明白了,再回过头来细细研究具体细节实现。阅读的过程中,可以编写一些单元测试,然后通过断点调试验证细节、跟踪线索,同时可以配合看一些书籍,这样可以提高阅读源码的速度和效率。

源码阅读不易,会经过迷茫、挣扎、光明、迷茫、恍然大悟等阶段,坚持就会有收获,难得是坚持!

推荐两本Spring源码解析的书:

【分享】如何阅读源代码?


分享到:


相關文章: