Inspectopedia Help

Method with more than three negations

Reports methods with three or more negations. Such methods may be confusing.

Example:

void doSmth(int a, int b, boolean flag1, boolean flag2) { if (!flag && !flag2) { if (a != b) { doOther(); } } }

Without negations, the method becomes easier to understand:

void doSmth(int a, int b, boolean flag1, boolean flag2) { if (flag1 || flag2 || a == b) return; doOther(); }

Configure the inspection:

  • Use the Ignore negations in 'equals()' methods option to disable the inspection within equals() methods.

  • Use the Ignore negations in 'assert' statements to disable the inspection within assert statements.

Inspection options

Option

Type

Default

Ignore negations in 'equals()' methods

Checkbox

true

Ignore negations in 'assert' statements

Checkbox

false

Inspection Details

Available in:

IntelliJ IDEA 2023.3, Qodana for JVM 2023.3

Plugin:

Java, 233.SNAPSHOT

Last modified: 13 July 2023