Inspectopedia 2025.2 Help

Complex function should be refactored

Reports the functions or methods that are too complex.

Complexity is evaluated based on four metrics:

  • Lines of code — the number of code lines in a function/method (less is better)

  • Maximum Nesting depth — the maximum number of nested statements in a function/method body (less is better)

  • Cyclomatic complexity — the function/method cyclomatic complexity (less is better)

  • Number of variables — the number of variables used in function/method body

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

PhpComplexFunctionInspection
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | PHP | Refactoring opportunities

Inspection options

Here you can find the description of settings available for the Complex function should be refactored inspection, and the reference of their default values.

Lines of code

Default value:

150
Max nesting depth

Default value:

4
Cyclomatic complexity

Default value:

15
Number of used variables

Default value:

8

Suppressing Inspection

You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:

//noinspection PhpComplexFunctionInspection

More detailed instructions as well as other ways and options that you have can be found in the product documentation:

Inspection Details

By default bundled with:

PhpStorm 2025.2, Qodana for PHP 2025.2,

Last modified: 18 September 2025