一般开源系统都附带着用户手册(Guide),手册里一般会描述系统中的核心设计思想,比如负载均衡、集群、leader选举、持久化等等。对比阅读法,就是边阅读代码,边比对着用户手册。或者,阅读完用户手册中的某个核心设计,然后找到对应的代码,研究代码是如何实现设计的。这样一来,不仅容易理解源码,而且效率高效果好。对比阅读法也适用于对比代码及代码中的良好注释。
有的时候,开源系统不一定附带有完善的用户手册,代码里的注释也不完全,那么这部分代码的作用,就只好通过阅读代码自身来理解了。对于复杂逻辑,为了验证理解的对不对,可以边调试边验证。
设计良好的开源系统,源码中都会附带有完善的测试用例。测试用例中,一般会模拟一些测试数据,同时会验证某个功能的多种不同用法。测试用例模拟测试数据、测试用配置时,一般会使用持久化或序列化功能的Dummy实现替代原有实现,这也就变相地告诉我们如果想要自定义一些实现该怎么做了。可见,通过阅读、调试单元测试代码,能够深入理解开源系统设计的精良之处。
都是个人见解,仅供参考