/resharper-cyclomatic-complexity

ReSharper plugin to measure cyclomatic complexity as you type

Primary LanguageC#Apache License 2.0Apache-2.0

official JetBrains project

Cyclomatic complexity plugin for ReSharper

This is a ReSharper plugin that measures cyclomatic complexity as you type. If the complexity of a method, function or property exceeds a configurable threshold, the method, function or property is marked with a warning highlight ("squiggly"). Supported languages are C#, VB, JavaScript, TypeScript and C++.

It can be installed by going to ReSharper → Extensions Manager and searching for "Cyclomatic Complexity".

Cyclomatic complexity is a metric intended to show the complexity of your code. It measures the number of paths through a code block - the more branches and conditional statements, the higher the metric. As the code gets more complex, the metric gets higher. A higher value is a good indicator that a method is getting too complex, and is becoming a maintainability risk, and should be refactored. You can read more about cyclomatic complexity at wikipedia.

The complexity of a method, function or other code member is always available as a tooltip on the method name:

Complexity displayed as an info tooltip

When the complexity reaches a configurable threshold, the tooltip is shown as a warning:

Complexity exceeds the configurable threshold

And the complexity threshold can be configured in the options, per language:

Options