Quality - The code base should be annotated with JSR 305 nullness annotations
Description
As both a way of detecting bugs in our code and to enhance the internal documentation, parameters, return values, and fields that can be null should be annotated as @Nullable
, with the default assumption being non-null. This prevents a great number of NPEs and removes the need to document the cases where NPEs could be thrown.
Priority
Low - this is only to ensure the quality of the code to an extreme degree and adds no new features
Definition of done
This quality feature is done when the entire code base is annotated for nullness. Optionally, static analysis tools could be used to verify this during the automated quality assurance phase, but without an annotated JDK this may not be possible.