大型Android系统重构实战

大型Android系统重构实战 / 根治遗留系统,高效交付软件

黄俊彬 Thoughtworks 资深咨询师
  • 课程目录
  • 课程介绍
  • 在线阅读:开篇词|一个App成了遗留系统,我们有啥破解之法?

    重构只是解决遗留系统问题关键的一个举措。但如果想根治遗留系统,其实是一个软件工程的问题,要多管齐下,综合“治疗”。

  • 01|初识重构:重构的类型、收益和度量

    重构的概念是什么?它能帮们解决哪些痛点问题?如何度量重构的收益?这节课将会解答这些疑惑。

  • 02|自动化测试:从0开始为一个特性覆盖自动化测试

    这节课我们会针对一个特性,从0开始一步一步覆盖自动化测试,带你深入感受到自动化测试的“魅力”

  • 03|测试落地:三招提高遗留系统代码的可测试性

    当我们面临一个没有任何自动化测试的遗留系统时,该如何落地自动化测试呢?

  • 04|架构演进:架构是如何跟随业务演进的?

    要想解决遗留系统中一系列的问题,架构改造是关键的举措。

  • 05|项目诊断与改进:如何进行组件化分析和设计?

    通过这节课的学习,你可以了解遗留系统常见的代码、工程组织方式及其存在的问题,并掌握组件化的分析和设计思路。

  • 06|分析工具:几百万行规模的遗留系统怎么分析?

    而分析遗留系统的整体思路就是,借助自动化的工具,分析现有架构与未来架构设计的差距,梳理出需要重构的代码。

  • 07|分析实操:运用自动化工具诊断分析Sharing项目

    通过这节课的分析,你可以学会在实际项目中如何结合工具来落地架构分析工作。

  • 08|防微杜渐:5类遗留系统典型的代码坏味道

    遗留系统不是一天造成的,而是在日常开发中不断累积出来的,而这五种典型的代码坏味道就是推动系统演化成遗留系统的重要元凶。

  • 09|重构手法:6种遗留系统常用的安全重构手法

    今天我们将会学习6种遗留系统常用的安全重构手法,帮你优化代码结构,提高代码质量。

  • 10|架构改造:5个步骤,高效推动组件化架构重构

    这节课,我们将结合实战学习4种常用的解除依赖的手法,分别是类下沉、依赖接口、事件总线以及路由。

  • 11|案例演示:如何将设计最终落地到代码?

    今天我们以Sharing项目为例,结合组件化架构重构的5个步骤,最终将Sharing按新的架构设计落地到代码中。

  • 12|依赖注入与路由:框架能够为我们解决什么问题?

    这节课,我将和你一起学习路由及注入框架的设计思想以及实现原理,然后结合这些框架进一步改造Sharing项目。

  • 13 | 组件运行时兼容:让组件可以灵活插拔

    只有完善组件的运行时兼容,才能真正做到组件的动态插拔。

  • 14|过大类重构:如何重构动辄过万行的一个类?

    这节课,我们将一起来学习“过大类”的重构之法,让组件内分层架构重构的落地更加简单。

  • 15 | 重构实操:化整为零,落地文件模块MVP重构

    这节课,我们将按照组件内分层架构的7个步骤,重构文件模块的主页面。

  • 16|技术栈更新:消息组件Kotlin+MVVM重构

    这节课我们会使用新的语言Kotlin以及新的架构模式MVVM,来重构消息组件。

  • 17|框架升级:如何小步安全地升级数据库框架?

    今天我们以Sharing项目为例,一起把项目中原先采用SQL拼写的方式替换为使用Room框架来统一管理缓存数据。

  • 18|分支:是捷径还是“不归路”?

    分支是我们日常进行开发一定会涉及到的工程实践,这节课我将为你讲解如何管理分支。

  • 19|仓库&版本管理:如何从物理边界上规范依赖?

    今天我们会学习如何对组件进行代码仓库管理以及二进制版本管理,让组件能更加独立地迭代演进,从物理上规范好组件之间的依赖。

  • 20|独立编译调试:如何让测试验证更加高效?

    如果能够让组件独立进行编译调试,测试验证的速度就会大大提升。

  • 21|持续集成流水线:如何通过自动化解放你的双手?

    今天,我们会以Sharing项目为例,了解如何设计、配置流水线,最后还会使用GitHub Action来搭建一个持续集成流水线。

  • 22|度量,我们如何以终为始,以始为终?

    通过度量,可以让我们在研发过程中更加明确目标,避免一开始就走成了反方向。

  • 23|Android系统开发:Android系统开发的版本管理、编译与自动化测试

    这节课我们会学习Android系统开发的版本管理、编译调试以及相关的自动化测试等实践,了解引入这些工具及实践的目的。

  • 24|“魔改”的Android系统:厂商定制的Android系统为什么也要解耦?

    这节课,让我们聚焦在架构设计层面,看看定制系统里最容易出现哪些架构耦合问题,这些问题又会给整机产品埋下哪些隐患。

  • 25|Android系统解耦:殊途同归,Android系统组件化之路

    这节课,我们会学习整机组件化的架构设计,并探讨具体有哪些针对性的解耦策略。

  • 加餐|组件化成熟度评估,你的目的地在哪里呢?

    今天这期加餐内容,我想给你分享一个实用的工具——组件化成熟度模型,并以Sharing项目为例,带你一起对改进前后的项目做一次组件化成熟度评估。

  • 结束语|以重构为动力,让遗留系统焕发新生

    系统重构的学习之旅,即将告一段落,今天,我还想和你分享三点“意识”层面的改变,这对于我们落地遗留系统改造同样重要。

  • 期末测试|来赴一场满分之约!

    来赴一场满分之约!

29讲

你将获得

  • 移动端系统重构知识一网打尽
  • 从 0 到 1 带你重构 App 项目
  • 规模化架构改造的五大步骤
  • 一套完善的一线大厂重构实践方案

讲师介绍


课程介绍

你可能遇到过这些难题:

  • 架构混乱:大泥球架构,代码量上百万行,无从下手。
  • 代码质量差:内部耦合高,代码质量低,修改维护牵一发动全身。
  • 开发效率低:编译集成调试慢,开发效率低,缺乏任何自动化测试。
  • 技术栈陈旧:“祖传代码”无人敢动。

为了解决上述问题,我们邀请了在大型遗留系统领域深耕多年的黄俊彬老师开设这门课程,让你掌握大型 Android 遗留系统的架构演进与重构思路、方法和一线开发经验。课程将围绕一个贴近实际工作的 App 项目,带你在实战演练中,体会单体架构演化为组件化架构的过程。

同时,掌握了课程里的流程方法、工具与设计思想,你也可以无缝应用到其他移动应用项目开发、维护中,真正提高团队的效率,最终提升交付质量。

课程设计

课程分为五大篇章——基础篇、分析设计篇、解耦重构篇、持续交付篇以及扩展篇。


基础篇:讲解重构和自动化测试的基础知识,包括重构的类型、时机、安全重构的手法,自动化测试的策略和常用框架。这些日常开发的必备技能,可以有效帮你提高编码效率和代码质量。

分析设计篇:结合实例讲解如何分析系统、诊断问题,了解主流应用架构,掌握常用的遗留系统分析工具。

解耦重构篇:讲解业内主流的注入及路由框架如何使用,掌握重构方法流程、自动化测试和重构方法。在实战中体验组件化重构和组件内的分层架构重构过程。

持续交付篇:解决组件化后项目的版本管理、制品管理和分层分级流水线的设计等工程管理问题。这些实用技巧会让系统改造更加全面。

扩展篇:扩展知识面,讲解定制 Android 系统中的架构与重构难题,带你掌握相应的开发方式与解耦思路。


课程目录


订阅须知

随机推荐

狮王小狮王儿童氟防蛀牙膏 20g用户体验如何?老司机评测分享?

狮王小狮王儿童氟防蛀牙膏 20g点评怎么样?图文长篇评测必看!

雀巢超启能恩奶粉3段760g*4罐评价怎么样?良心评测点评!

卡诗元气姜粉瓶生姜洗发水250ml分析怎么样?用户反馈评测结果!

佳沃云南蓝莓14mm 12盒原箱生鲜性价比高吗?详细评测分享?

追致手持小风扇「2024新款」珍珠白点评怎么样?全方位评测分享!