Convenience vs Readability
Gregor Hohpe argues that prioritizing convenience in API design can often result in decreased code readability and should not be the guiding principle. While convenience may be useful to combat tediousness and awkwardness, good API design should prioritize efficiency, consistency, and elegance. An API should provide an expressive language with a diverse vocabulary that allows the next layer above to ask and answer useful questions. A well-thought-out API vocabulary makes code easy to understand and composable, allowing other programmers to use the API in unexpected ways. Therefore, developers should not lump multiple operations together in one API method in the name of convenience, as this could compromise the expressiveness and readability of the code.