I keep reading about "well defined interfaces", as here, here or here, specially when talking about microservices.
What's an example of the opposite, an interface that is not well-defined?
I keep reading about "well defined interfaces", as here, here or here, specially when talking about microservices.
What's an example of the opposite, an interface that is not well-defined?
Any interface definition that isn't specific enough to determine whether a client or service implementation conforms to it is not well-defined. Some examples:
createFooList before you can call addFoo)In general, if developers argue about the correct usage or implementation of an interface it's a good indicator that the interface is ill-defined (or that the developers didn't understand it, which also happens.)
Just being awkward or difficult to use doesn't make an interface ill-defined, though.