10 Reasons Why we Love Some APIs and Why we Hate Some Others
summary
Ten concrete rules and sharp examples decide whether to watch: APIs succeed when names and types map directly to intent, are discoverable in an IDE, and provide convenience wrappers. Concrete failures shown include file.list returns null causing NPEs, inconsistent naming in the Java Stream API (skip vs drop), and opaque Spring setup that forces extra configuration. Wins include jQuery feels great for fluent discovery and JSR‑310 Java Time for consistent verbs and types. Expect pragmatic guidance, small utilities built to hide complexity, and tradeoffs between backward compatibility and cleaner names.
AI-written summary · about
chapters (26)
- 0:00Start
- 5:38User Experience
- 10:21Prejudices - Tech
- 14:02Naming - Ubiquitous Language
- 14:36Naming - Why is it important?
- 15:07Naming - Don't do this
- 16:25Naming -Tradeoffs
- 17:05Naming - Consistency
- 19:561. Naming - Why not?
- 23:28Simplicity - Technical View
- 23:58Simplicity - Spiritual View
- 24:39Simplicity - How not to be simple
- 27:29Simplicity - How to be simple
- 28:17Do One Thing
- 29:45Types - Advantages
- 30:27Types - Recognise the outline of this talk?
- 32:10Types - How do we do types?
- 37:28Discoverability - JPA good part
- 38:21Discoverability - Bad examples (IMO)
- 39:59Discoverability - Good examples
- 41:44Error Handling
- 46:54Convenience - Dogfooding
- 49:24Compatibility - A Trick
- 49:43Documentation
- 50:43Overview
- 51:23Consumer Information
related talks
44m10 reasons why we like certain APIs and other APIs annoy us
21m5 Mistakes Developers Make When Building Java APIs (and How to Fix Them)
49mLet's make a contract: the art of designing a Java API
27mModern Java API Design
15mHow to Design Effective APIs | Actionable Guide
52mTop 10 Rest API Design Pitfalls
49mAdvanced API design: how an awesome API can attract friends...
51mLet's make a contract: the art of designing a Java API
