这门课解决什么问题

很多 Android 开发者接手老项目时,面对的往往是牵一发而动全身的代码堆叠:改一个小功能引发连环崩溃,没人敢动核心逻辑,迭代只能靠打补丁。这门课针对的就是这种典型的遗留系统困境。它不教怎么从零写一个新 App,而是聚焦于如何在保证业务持续交付的前提下,把乱成一团的历史代码逐渐理顺。核心场景是:当你面对一个没有测试、耦合严重、连编译都费劲的老项目,怎么安全地给它加自动化测试,怎么做局部分析和设计,最后一步步完成重构而不影响线上。

适合什么基础,建议先看哪几块

这门课不适合刚学完 Android 基础语法的人。它默认你已经能独立开发功能模块,写过至少一两个线上项目,对 Activity、Fragment、常用架构有实际手感,但对系统化重构缺乏方法论。如果你正处于“会写代码但写得不够好”的阶段,这门课的性价比比较高。建议先从基础篇入手,重点看重构的类型划分和收益度量——这部分帮你建立判断标准,知道什么该改、什么不该碰。接着直接看自动化测试和可测试性改造那几节,这是后续一切重构动作的安全网,没有测试保护的重构等于盲改。

资料怎么配合练习,学完能做什么

这套资料是图文加音频的组合,建议以文字为主、音频辅助通勤时复习理解。学习方式上,不要只看不练。最有效的用法是:拿你自己手头一个老项目或者开源项目当靶子,每学一个手法立刻在上面试。比如学到“为特性覆盖自动化测试”时,找项目里一个没有测试的模块,照着思路给它补上测试用例;学到可测试性改造时,挑一个耦合严重的类做局部解耦。学完后你应该能独立完成这几件事:给遗留代码建立测试保护网、识别代码坏味道并判断重构优先级、对具体模块做分析设计和渐进式改造、在不中断业务交付的前提下让代码质量逐步回升。说白了,学完之后你面对老项目不再是“能跑就别动”,而是有一套可操作的拆解思路。


根治遗留系统,高效交付软件

课程目录

*   01 开篇词/

  *   01 开篇词|一个App成了遗留系统,我们有啥破解之法.html (2.40 MB)

  *   01 开篇词|一个App成了遗留系统,我们有啥破解之法.mp3 (10.62 MB)

*   02 基础篇/

  *   01 01|初识重构:重构的类型、收益和度量.html (5.13 MB)

  *   01 01|初识重构:重构的类型、收益和度量.mp3 (12.19 MB)

  *   02 02|自动化测试:从0开始为一个特性覆盖自动化测试.html (22.68 MB)

  *   02 02|自动化测试:从0开始为一个特性覆盖自动化测试.mp3 (12.91 MB)

  *   03 03|测试落地:三招提高遗留系统代码的可测试性.html (2.74 MB)

  *   03 03|测试落地:三招提高遗留系统代码的可测试性.mp3 (9.30 MB)

*   03 分析设计篇/

  *   01 04|架构演进:架构是如何跟随业务演进的.html (6.95 MB)

  *   01 04|架构演进:架构是如何跟随业务演进的.mp3 (11.08 MB)

  *   02 05|项目诊断与改进:如何进行组件化分析和设计.html (11.52 MB)

  *   02 05|项目诊断与改进:如何进行组件化分析和设计.mp3 (11.33 MB)

  *   03 06|分析工具:几百万行规模的遗留系统怎么分析.html (10.24 MB)

  *   03 06|分析工具:几百万行规模的遗留系统怎么分析.mp3 (9.18 MB)

  *   04 07|分析实操:运用自动化工具诊断分析Sharing项目.html (8.82 MB)

  *   04 07|分析实操:运用自动化工具诊断分析Sharing项目.mp3 (7.78 MB)

*   04 解耦重构篇/

  *   01 08|防微杜渐:5类遗留系统典型的代码坏味道.html (7.07 MB)

  *   01 08|防微杜渐:5类遗留系统典型的代码坏味道.mp3 (10.69 MB)

  *   02 09|重构手法:6种遗留系统常用的安全重构手法.html (7.63 MB)

  *   02 09|重构手法:6种遗留系统常用的安全重构手法.mp3 (8.08 MB)

  *   03 10|架构改造:5个步骤,高效推动组件化架构重构.html (8.79 MB)

  *   03 10|架构改造:5个步骤,高效推动组件化架构重构.mp3 (10.04 MB)

  *   04 11|案例演示:如何将设计最终落地到代码.html (35.17 MB)

  *   04 11|案例演示:如何将设计最终落地到代码.mp3 (8.23 MB)

  *   05 12|依赖注入与路由:框架能够为我们解决什么问题.html (7.98 MB)

  *   05 12|依赖注入与路由:框架能够为我们解决什么问题.mp3 (9.29 MB)

  *   06 13 组件运行时兼容:让组件可以灵活插拔.html (3.62 MB)

  *   06 13 组件运行时兼容:让组件可以灵活插拔.mp3 (8.33 MB)

  *   07 14|过大类重构:如何重构动辄过万行的一个类.html (3.51 MB)

  *   07 14|过大类重构:如何重构动辄过万行的一个类.mp3 (15.13 MB)

  *   08 15 重构实操:化整为零,落地文件模块MVP重构.html (28.01 MB)

  *   08 15 重构实操:化整为零,落地文件模块MVP重构.mp3 (10.63 MB)

  *   09 16|技术栈更新:消息组件Kotlin+MVVM重构.html (41.60 MB)

  *   09 16|技术栈更新:消息组件Kotlin+MVVM重构.mp3 (9.55 MB)

  *   10 17|框架升级:如何小步安全地升级数据库框架.html (2.05 MB)

  *   10 17|框架升级:如何小步安全地升级数据库框架.mp3 (8.30 MB)

*   05 持续交付篇/

  *   01 18|分支:是捷径还是“不归路”.html (0.97 MB)

  *   01 18|分支:是捷径还是“不归路”.mp3 (11.22 MB)

  *   02 19|仓库&版本管理:如何从物理边界上规范依赖.html (4.47 MB)

  *   02 19|仓库&版本管理:如何从物理边界上规范依赖.mp3 (8.41 MB)

  *   03 20|独立编译调试:如何让测试验证更加高效.html (6.52 MB)

  *   03 20|独立编译调试:如何让测试验证更加高效.mp3 (8.88 MB)

  *   04 21|持续集成流水线:如何通过自动化解放你的双手.html (2.66 MB)

  *   04 21|持续集成流水线:如何通过自动化解放你的双手.mp3 (9.41 MB)

  *   05 22|度量,我们如何以终为始,以始为终.html (1.23 MB)

  *   05 22|度量,我们如何以终为始,以始为终.mp3 (10.35 MB)

*   06 扩展篇/

  *   01 23|Android系统开发:Android系统开发的版本管理、编译与自动化测试.html (4.98 MB)

  *   01 23|Android系统开发:Android系统开发的版本管理、编译与自动化测试.mp3 (9.51 MB)

  *   02 24|“魔改”的Android系统:厂商定制的Android系统为什么也要解耦.html (3.34 MB)

  *   02 24|“魔改”的Android系统:厂商定制的Android系统为什么也要解耦.mp3 (10.43 MB)

  *   03 25|Android系统解耦:殊途同归,Android系统组件化之路.html (3.71 MB)

  *   03 25|Android系统解耦:殊途同归,Android系统组件化之路.mp3 (10.75 MB)

  *   04 加餐|组件化成熟度评估,你的目的地在哪里呢.html (5.17 MB)

  *   04 加餐|组件化成熟度评估,你的目的地在哪里呢.mp3 (4.23 MB)

*   07 结束语&结课测试/

  *   01 结束语|以重构为动力,让遗留系统焕发新生.html (1.08 MB)

  *   01 结束语|以重构为动力,让遗留系统焕发新生.mp3 (6.13 MB)

  *   02 期末测试|来赴一场满分之约!.html (0.25 MB)