An application programming interface defines the operations available to client code and their promised behavior, including inputs, outputs and failure cases. For a FIFO queue, operation names alone do not specify what happens on an empty or full queue. An API should state those cases before clients depend on them.

Articles by others on the same topic (NaN)