07|分析实操:运用自动化工具诊断分析Sharing项目
以新架构设计来组织代码
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了如何利用自动化工具对项目架构进行分析和诊断。作者首先讲解了项目代码结构的调整,以及如何根据新的架构设计重新组织代码结构。接着详细讲解了基于新代码结构设计的架构约束规则,并使用Dependencies依赖分析工具和ArchUnit进行分析。通过定义依赖规则和执行分析,作者展示了如何发现项目中存在的依赖问题,并提出了解决方案。整体而言,本文通过实际操作演示了如何结合自动化工具进行项目架构分析,为读者提供了一种实用的方法和思路。文章内容涵盖了架构设计、代码结构调整、约束规则定义以及自动化工具应用等方面,为读者提供了全面的技术指导。
《大型 Android 系统重构实战》,新⼈⾸单¥59
全部留言(5)
- 最新
- 精选
- peter请教老师两个问题: Q1:用Dependencies时怎么增加scope? 我用AS4.1,操作顺序:菜单Analyze Dependencies。点击后AS开始执行Dependencies扫描,然后出现扫描结果的界面;此界面分为左右两个部分。我在此界面尝试多次,没有找到在哪里可以添加scope。(注:我的界面和文中的界面相同。) Q2:“热更新”、“热修复”的理解是否对? A“热更新”:用户安装了版本1,现在出了版本2,用户不需要先卸载版本1然后重新安装版本2,而是在版本1的基础上直接更新为版本2。 B“热修复”:与版本无关,用户安装了某一个版本,该版本有bug,在线直接打补丁来修复。 我的理解对吗?
作者回复: Hi,peter。 Q1: 扫描结果,点击小扳手🔧,然后出现Dependency Validation的页面,再点击+号按钮,然后在ALL的选项旁边点击...的按钮就可以出现Scopes的页面了。 Q2:我的理解是热更新是应用内插件的更新,不是整个应用的更新。热修复是修改Bug。 期待你的再次留言。🤝
2023-02-24归属地:北京21 - Aā 阳~如果模块之间存在页面复用怎么办呢,这种怎么做到不横向依赖?
作者回复: 我的理解是可以封装抽取成基础的功能组件,这样可以让不同的业务组件复用。
2023-09-05归属地:上海 - 稻草人的忧桑这里按照包结构的写完约束,之后按照组件重构,约束规则是不是还得调整
作者回复: Hi,何敬。 这里按照包结构写约束,包结构应该就是未来组件化架构设计的新包结构了。所以当约束用例都执行成功了也意味着完成新架构的改造。
2023-03-23归属地:浙江 - 稻草人的忧桑示例项目的archutil依赖版本,能否做一下更新
作者回复: Hi,何敬。 代码更新在:https://github.com/junbin1011/Sharing。 对应的ArchUnit用例文件在:https://github.com/junbin1011/Sharing/blob/main/app/src/test/java/com/jkb/junbin/sharing/ArchRuleTest.java
2023-03-06归属地:浙江 - 中世纪的knightgithub 上Sharing项目希望老师可以保留一份重构前分支,每次重构切一次分支。
作者回复: Hi,我们会采用单主干的提交模式,所有代码都会拆解成小步提交🤝。
2023-02-28归属地:上海