Skip to main content

Metrics

tip

Metrics configuration is described here.

Metrics are grouped by category to help you understand their purpose.

You can also suggest a metric!

Function / Method Metrics 9 metrics

cyclomatic-complexity

The number of linearly-independent paths through a method

halstead-volume

The method size is based on the number of operators and operands

lines-of-code

The number of physical lines of code of a method, including blank lines and comments

maintainability-index

The indicator that means how maintainable the source code is

maximum-nesting-level

The maximum nesting level of control structures within a method

number-of-parameters

The number of parameters received by a method

number-of-used-widgets

The number of widgets used inside a build method

source-lines-of-code

The approximate number of source code lines in a method, blank lines and comments are not counted

widgets-nesting-level

The depths of widgets used inside a build method

Class Metrics 10 metrics

coupling-between-object-classes

Number of classes to which a class is coupled

depth-of-inheritance-tree

Maximum inheritance path from the class to the root class

number-of-added-methods

The number of own methods provided by a class

number-of-implemented-interfaces

The number of interfaces implemented by a class

number-of-methods

The number of methods of a class

number-of-overridden-methods

The number of methods overridden by a class

response-for-class

Number of methods in the class plus number of remote methods directly called by methods of the class

tight-class-cohesion

Measures how well the methods of a class are related to each other

weight-of-class

The number of "functional" public methods divided by the total number of public members

weighted-methods-per-class

The sum of the complexity of all class methods

File Metrics 3 metrics

number-of-external-imports

The number of external imports in a file

number-of-imports

The number of imports in a file

technical-debt

The cost of additional rework caused by choosing an easy (limited) solution now instead of using a better approach that would take longer