-
理论先行。阅读某一个模块时,先搜索它的理论支撑,甚至可以先看别人的阅读经验,有了一个大致的了轮廓之后,自己再去实践。
-
必须试用。面对一个新的类,最好是先搜索一下它的基本用法,写成一个小的示例,并从这个示例中用到的方法入手,去分析这个类。
-
巧用调试。关于IDEA中debug的使用方式,超出了本文的讲述范围。值的注意的是,除了需要学习常用的运行时调试,还需要学习编译时调试,这个在阅读Java语言模型那块的代码时很有用。
-
分清主次。类与类之间呈网状结构,在阅读某个类的时候,不可避免地需要先去阅读它引用的其他类。但是,如果它引用的类很复杂,则建议先放一放,做个标记,回头再读。不过,如果在阅读多个类时,其调用链最终都指向了同一个类,那么这个类就必须先拿下了。
-
业务为先。如果一个类太过庞大,则先将其中的方法按功能归类,捋清大致的执行流程,接下来再逐个功能地去攻克。
-
不求甚解。有些方法不需要搞清楚实现过程,只需要了解它的作用。比如一些特定领域的算法,对某些规则的解析等。
-
以点带面。如果看懂了某一个方法,就要搜索该方法的所有应用之处,验证自己的想法是否正确,并在应用之处写下注释。哪怕理解的有误差也没事,回头有新的理解再批量修改。对于字段的阅读与理解,也建议采取此种方式。