How to Design a Good API and Why It Matters.¶
Bloch, J. (2006). How to Design a Good API and Why It Matters. ACM, 506-507.
Cited by¶
3 citations across 3 artifacts.
Each citation links to the sentence it supports in the citing article.
Primes¶
- Progressive Disclosure
- Software architecture and APIs. High-level facade calls that delegate to lower-level primitives reachable only when needed; sensible defaults overlaid on a rich configuration surface.
This sourceArgues for facade-level calls over rich configuration with sensible defaults, the API form of layered presentation.
- Software architecture and APIs. High-level facade calls that delegate to lower-level primitives reachable only when needed; sensible defaults overlaid on a rich configuration surface.
- Rule of Least Power (Minimum Sufficient Capability)
- In API and protocol design, it appears as exposing the smallest interface that meets the use case, since every extra method is a future compatibility constraint and a future attack surface.
This sourceAdvocates the smallest sufficient public interface — "when in doubt, leave it out" and minimize accessibility — because anything exposed becomes a permanent compatibility constraint that can never be removed.
- In API and protocol design, it appears as exposing the smallest interface that meets the use case, since every extra method is a future compatibility constraint and a future attack surface.
- Signifier
- API design and software ergonomics. Method names, type signatures, auto-complete, tooltips, null-safety operators, and deprecation warnings — the signifier face of an API publishes which calls are available and how to compose them.
This sourceArgues that names, method signatures, and self-documenting interfaces make an API's available calls discoverable ('if you get an API right, code reads like prose') — the signifier face of software ergonomics.
- API design and software ergonomics. Method names, type signatures, auto-complete, tooltips, null-safety operators, and deprecation warnings — the signifier face of an API publishes which calls are available and how to compose them.
Verification¶
This reference passed the adversarial substantiation pipeline: it was checked to exist and to support the claim it is attached to. See how references were verified.
Registry ID ref:240a05da01ff · see in the full table