La complejidad ciclomática mide el número de operadores (&&, ||) y declaraciones (if, while, do, for, ?:, catch, switch, case, return, throw) dentro del cuerpo de una clase además de cada constructor, método (si no son getter/setter), bloque de inicialización (estático o de instancia) dentro de la clase. El último 'return' de un método, si existe, se tiene en cuenta.

A veces la complejidad ciclomática de una clase es muy alta porque esta complejidad está bien repartida entre todos sus métodos. Sin embargo, la mayor parte del tiempo, una clase muy compleja es una clase que debe partirse según el principio de responsabilidad única que dice que debe refactorizarse y descomponerse en más clases.