API
Creating apis is probably the main thing that java is used for
Web api
library api
An API is what developers use to achieve some task
is useful as used by other software, and resusable
it establishes a contract between them and the designers of the software, exposing its services through that API.
Characteristics of good api
should be easily understandable and discoverable
It should be possible to start using it and, ideally, learn how it works without reading its documentation
Having example tests is a good replacement for documentation
it’s important to use consistent naming and conventions.
Keeping your API minimal is another way to make it easy to use.
using factory methods instead of constructors is another valuable practice since it allows greater flexibility:
you can also return an instance of a subclass or even a null when the method is called with illegal arguments.
principle of least astonishment should be observed
It should do what is expected
Example, Optional.of(T t) breaks this as throws nullpointer when t is null, thus needs Optional.ofNullable(T t). When only one method would be needed
break apart large interfaces into smaller pieces;
consider implementing a fluent API,
never return null
emptylist or optional instead
limit usage of exceptions, and possibly avoid checked ones
Regarding method arguments:
avoid long lists of them, especially of the same type;
use the weakest possible type;
keep them in consistent order among different overloads;
consider varargs
Last updated
Was this helpful?