What is cyclomatic complexity?

The concept of cyclomatic complexity explained in under 100 words. #Under100

What is cyclomatic complexity?
"Think of cyclomatic complexity as a measure of the number of pathways through a piece of code."  

-Mark Seemann, "Code That Fits in Your Head"

To calculate the cyclomatic complexity of a VBA procedure, start at 1 then add 1 for each of the following statements:

  • If
  • Else If
  • Else
  • Case
  • For...Next
  • For Each...Next
  • Do...Loop
  • While...Wend
  • GoSub...Return
  • GoTo

And add 1 for each of these functions:

  • IIf
  • Nz
  • Choose (+1 for each choice)
  • Switch (+1 for each expr-value pair)

To write code that "fits in your brain," Seemann recommends limiting cyclomatic complexity to 7.

Cover image created with Microsoft Designer

All original code samples by Mike Wolfe are licensed under CC BY 4.0