Lessons from a Librarian
summary
Concrete claim: thousands of legacy call sites are migrated in days with no regressions by combining structural find‑and‑replace, a custom IntelliJ plugin + structural find and replace, and scripts in Python/Kotlin; automated gates use lint, error‑prone, google java format and ktlint, with CI/commit‑hook checks and shadow jobs to test toolchain upgrades. Covers API design tactics (separate api/impl modules, final by default, build‑time isolation), deprecation hints, and an AndroidX/JDK upgrade case where automation plus staged builds avoids rollbacks.
AI-written summary · about
chapters (16)
- 0:00Intro
- 1:10Welcome
- 1:30Slides
- 1:50Example
- 4:15Code that lasts forever
- 4:55What is good code
- 6:15Prevention is better
- 6:45Limitations
- 9:15API vs Implementation
- 10:48API Bill Config
- 12:26Code Review
- 12:53Static Analysis
- 17:19Shadow jobs
- 18:37Offensive programming
- 19:01Unflaggable changes
- 20:33Wrap up
related talks
38mBuilding libraries for the next 25 years
31mStrengthen Our Developer eXperience to Face Obsolescence and View...
44mThe Art of Refactoring
39mMoving fast and staying aligned how automation powers progress
54mProject needs refactoring? Here’s the IDEA!
31mTips for Library Development (from a Startup Developer)
43mLibrary Developer Confidential
26mEnough with scripts, let's create an Android Studio plugin?
