4 Balancing flexibility and complexity
This chapter covers
- Flexibility and extensibility versus cost of maintenance and complexity of APIs
- Providing maximum extensibility with the listener and hooks APIs
- Tackling complexity and guarding against unpredictable usage
When designing our systems and APIs, we want to find a balance between a set of features that it supports and the maintenance cost that arises from those features’ complexity. In an ideal world, every API change, such as adding a new feature, would be backed by empirical studies. For example, we can analyze the traffic on our website and, according to a need, add a new feature. We can also conduct A/B (http://mng.bz/ragJ) testing to decide which feature should be retained and which ...
Get Software Mistakes and Tradeoffs now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.