Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Appendix A

1 Formatting

1.1 Block indentation: +4 spaces

This rule overrides section 4.2 of Google Java Style Guide (only indentation size).

Each time a new block or block-like construct is opened, the indent increases by 4 spaces.

1.2 Column limit: 140

This rule overrides section 4.4 of Google Java Style Guide (only limit size).

Java code has a column limit of 140 characters.

2 Nullability annotation usages

These rules supplement section 4.8.5 of Google Java Style Guide.

...

2.1 Common annotating rules

Ignite 3 uses JetBrains nullability annotations. For the sake of code clarity it is prohibited to use @NotNull annotation, even if it compromises the completeness of static analysis. However, it is required to use @Nullable in the following places:

  • On a function's return type, if the function can return null;
  • On a function's parameter, if passing null as this parameter will not end in throwing an exception;
  • On a class field, if it can be null.

...

2.2 Annotating arrays

There are multiple ways to annotate a Java array, which lead to different interpretation by the static analysis tool:

Code Block
languagejava
@Nullable Object[] x;            // x array can *contain* null values
Object @Nullable [] x;           // x itself can be null 
@Nullable Object @Nullable [] x; // x array can contain null values *and* be null itself

...

2.3 Intellij IDEA settings

It is recommended to enable all inspections, related to this topic. Please note, that all nested options should also be enabled:

...

All these options will be set automatically, when importing inspections settings from the repository.

...

3 Using var keyword

The local variable type inference is the powerful feature of Java language. Nevertheless, one of the main goals of the code style guide is to ensure readability for developers, not for the compiler.

...