How to understand Open Source projects/libraries?

pea*_*kit 13 java eclipse spring ibatis struts2

There are few open source projects/APIs/libraries that we use in our project (Spring, Struts, iBatis etc.) and I want to understand their design and how they work internally.

了解这些项目的最佳方法是什么?请注意,我已经在我的项目中使用这些库.我知道这些库的输入输出交互/配置.我不明白的是这些API /库如何在内部工作.

我面临的问题是:

  1. 查找库的入口类.有什么方法可以让我知道库的入门类 - 这是一个踢完整个API的东西吗?
  2. 在Eclipse中使用的工具/插件,用于概述库的设计.浏览图书馆的每一课,都是一项非常艰巨的任务.是否有任何想要推荐的工具可以在Eclipse中生成API的类图.

提前致谢!!


更新:我需要一些关于eclipse插件的输入,它可以帮助我获得库的概述/类图

kro*_*old 8

我总是使用相同的策略:我从不试图"理解"代码库作为一个整体,我通常会尝试遵循请求流程.我阅读了足够多的文档来确定使用该应用程序的必要条件,并且我阅读了代码(在IDE中加载所有源代码).

例如,在struts中,您将在web.xml中安装servlet过滤器.开始阅读过滤器并按照单个请求通过堆栈的路径.

同样对于spring,有两个主要入口点,过滤器和"getBean",两者都在文档的早期提到.阅读这两个.

对于这两种情况,您将找到一个或两个快速实现框架"核心"的类.仔细阅读这些内容,让实际使用案例和需求推动您的进一步探索.

通过尝试查找所有部分来接近"理解"开源库(或任何其他代码库)通常不是处理这些事情的一种非常好的方式,它通常只会导致无处,因为很多这些事情包含太多代码.当遵循请求流程时,我发现制作图表也会让人非常分心,它往往会引起注意力/注意力远离理解(并且由于我的理解迅速增加,因此大多数图表甚至在到达打印机之前就已经过时了).