我们一直在将一个庞大的代码库分成逻辑模块。我想请教一些工具和经验,同时也想了解您在这方面的经验。
该应用程序由一个服务器WAR和几个分布在JAR中的富客户端组成。问题在于,它们都在一个大而复杂的代码库中,一个包含超过2,000个文件的源代码树。每个JAR都有一个专用类,带有一个main
方法,但依赖关系的纠缠很快就会陷入困境。虽然情况并不算很糟糕,但一直遵循良好的实践并有专门任务的组件,但还需要一些改进来帮助我们的团队随着业务的发展而扩展规模。
这些模块将各自位于 Maven 项目中,由父 POM 构建。这个过程已经开始将每个 JAR/WAR 移动到自己的项目中,但很明显这只是表面工作:每个应用程序 JAR 中只有一些类,而其他所有内容则在庞大的“遗留”项目中。此外,已经有了一些单元测试和集成测试。
无论如何,我对将过于庞大和纠缠不清的代码库分解成更易管理的东西的工具、技术和一般建议很感兴趣。自由/开源是首选。