Lines of Code (LOC)

What is it? The total number of lines in your source code, including comments and blank lines.

Impact of high value: A very high LOC can indicate complexity, making the code harder to maintain and test.

Learn more

Cyclomatic Complexity

What is it? A measure of the number of independent paths through your code.

Impact of high value: High complexity often means harder testing and increased risk of bugs.

Learn more

Cognitive Complexity

What is it? A measure of how difficult code is to understand based on its control flow and nesting.

Impact of high value: High cognitive complexity makes code harder to read and maintain, increasing the risk of bugs.

Learn more

Maintainability Index

What is it? A composite metric that estimates how easy it is to maintain code, based on LOC, complexity, and comments.

Impact of low value: A low maintainability index suggests the code is difficult to modify and prone to errors.

Learn more

Average Method Size

What is it? The average number of lines per method or function in your codebase.

Impact of high value: Large methods often indicate poor modularity, making code harder to test and reuse.

Learn more

Instability

What is it? A metric that measures how likely a module is to change based on its dependencies (ratio of efferent to afferent couplings).

Impact of high value: High instability means the module depends heavily on others, making it fragile and harder to maintain.

Learn more

LCOM4 (Lack of Cohesion of Methods)

What is it? A metric that measures how well the methods of a class are related to each other. It checks if methods share common attributes, indicating cohesion.

Impact of high value: A high LCOM4 means low cohesion, suggesting the class may be doing too many unrelated things. This makes the code harder to maintain and violates the Single Responsibility Principle. A value of 0 happens when there are no methods in a class. This is also a "bad" class.

Learn more