Some experience with the programming language and a review checklist should help you get started.

It allows you to easily define alternate behavior and is useful for chaining methods.

If the situation is recoverable and can be handled by the client (the consumer of your library or code) then it is good to use checked exceptions.

If you have concrete implementations of certain interfaces (e. g. ArrayList or LinkedList) and if you use them directly in your code, then it can lead to high coupling.

Related Articles