Accurate by design
An API should state what it will do and do what it has said.
You should not have to read the code behind the API to call it. There should not be a “tribal knowledge” on the behavior of the API.
It should not have unintended consequences not described in the API.
One litmus test to do is to ask if none of the engineers are in the team anymore whether they would be any context lost not conveyed by the API.
Software Engineering from the Frontlines Course on Maven
If you liked this article, I will be teaching a “Software Engineering from the Frontlines” course on Maven where I will teach hard-learned lessons I acquired developing large-scale products at companies such as Uber, Airbnb, and Microsoft.
Thanks for reading Software Engineering Tidbits! Subscribe for free to receive new posts and support my work.