Everything is an API
summary
Argues that everything is an API: every internal module, function and test should be designed as a stable interface, favoring interface composition and composition over inheritance, small surfaces, immutability and single responsibility. Recommends Kotlin idioms (suspend, infix, receivers), deprecation + replaceWith, requiresOptIn and a technical-debt annotation. Promotes modularization and concurrent compilation to speed builds (projects can reach hundreds of modules) and tooling like Gradle Enterprise / gradle scan and the build cache to find and fix slow or misconfigured builds.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:45Application Programming Interface noun
- 1:32API Decisions Cost of Technical Debt
- 2:35API Decisions Double standards
- 3:54Good Code?! Not so easy
- 4:59Code Progressively
- 5:16Hiding Implementations...
- 6:23Usefulness of Documentation "What's a Javadoc?!"
- 7:15Code Smell
- 9:24Meaningful Naming
- 13:30Impure Functions
- 14:19Interface Composition
- 15:19Interface Abstraction
- 16:15Democratise your API Decisions But not too much!
- 18:51Modularisation Concurrency
- 24:15We're all Human Migration Tools
- 25:16Conclusion Good code is..
related talks
25mEverything is an API
47mAPI Design Principles
47mLet's build components, not layers
57mCore Software Design Principles for Programmers
23mLeverage APIs to Transform Your Business Landscape
32mBoost Your Development with Proper API Design
26mRevolutionizing Business with API-First Strategy: Key Insights
54mThe Golden Principles of Software Architecture Applied To Kotlin Multiplatform
