A complexidade ciclomática é medida pelo número de operadores (&&, ||) e declarações (if, while, do, for, ?:, catch, switch, case, return, throw) no corpo de uma classe mais um para cada construtor, método (mas não getter/setter), inicializador estático, ou inicializador de instância da classe. A última instrução de retorno no método, se existir, não é levada em conta.

Mesmo quando a complexidade ciclomática de uma classe é muito elevado, esta complexidade pode ser bem distribuída entre todos os métodos. No entanto, na maioria das vezes, uma classe muito complexa é uma classe que rompe com o Princípio da Responsabilidade Única, e que deverá ser refatorada e dividida em várias classes.