java - 如何理解开源项目/库?

标签 java eclipse spring struts2 ibatis

我们在项目中使用的开源项目/API/库很少(Spring、Struts、iBatis 等),我想了解它们的设计以及它们在内部是如何工作的

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

我面临的问题是:

  1. 找到库的入口类。有什么方法可以让我知道库的入口类——这会影响整个 API 吗?
  2. 在 Eclipse 中使用工具/插件来获得库设计的概览。 浏览库的每个类可能是一项非常艰巨的任务。有没有什么工具可以在 Eclipse 中生成 API 的类图。

提前致谢!!


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

最佳答案

对此我始终使用相同的策略:我从不尝试“理解”整个代码库,我通常尝试遵循请求流程。我阅读了足够多的文档以确定使用该应用程序所需的内容,并且阅读了 that 代码(将所有源代码保持在您的 IDE 中加载)。

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

同样对于 spring,有两个主要入口点,过滤器和“getBean”,这两个在文档的早期都被提及。读那两个。

对于这两种情况,您会很快发现一两个代表框架“核心”的类。仔细阅读这些内容,让实际用例和需求插入您进一步探索。

通过尝试找到所有部分来“理解”一个开源库(或任何其他代码库)通常不是解决这些问题的好方法,它通常会无路可走,因为很多这些东西包含太多的代码。当遵循请求流程时,我发现制作图表也可能会让人分心,它往往会将注意力/注意力从理解上转移(而且由于我的理解迅速增加,其中大多数甚至在到达打印机之前就已经过时了)。

关于java - 如何理解开源项目/库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3365754/

相关文章:

eclipse - 如何禁用 MyEclipse 可视化 HTML 设计器

eclipse - 服务器清理和项目清理之间的区别

ruby-on-rails - 将 ruby​​ 版本更新到 3.0.2 后,Rails 生成迁移不起作用

java - 在intellij中安装or-tools库

java - Eclipse 帮助,导入无法识别

java - 序列化 ClassPathXmlApplicationContext

spring - 如何在 JmsTemplate 中发送标题消息?

java - 将实时数据从 Viewpager Fragment 共享到 Activity

java - 以编程方式选择手机的原始默认拨号器,而不是任何其他选项

java - 为什么 JAXB 2 注册机的 XJC 简单模式会更改集合名称?