28
Medindo a complexidade ciclomática em aplicativos Java
Filed Under (Qualidade de software, Teste de software) by Antonio Passos on 28-01-2009
Tagged Under : Complexidade ciclomática, Métrica de McCabe, Qualidade de software, Teste de software
"Qualquer tolo consegue escrever código que um computador entenda. Bons programadores escrevem código que humanos possam entender", afirma Martin Fowler no clássico Refatoração: aperfeiçoando o projeto de código existente. Como o entendimento do código depende de quão complexo ele seja, fica a pergunta: como medir a complexidade de um código?
O recorte abaixo é do artigo original de Thomas J. McCabe, A Complexity Measure, em que ele apresenta sua teoria da complexidade ciclomática.
A complexidade ciclomática é uma métrica importante que estima a complexidade lógica de um trecho do programa, como um método de uma classe Java.
Dado o grafo de fluxo de controle de um método, o número ou valor da complexidade lógica desse método, também chamado de métrica de McCabe, é obtido pela fórmula:
v(G) = e – n + p
onde…
- e representa o número de arestas ou arcos do gráfico,
- n o número de nodos ou nós do gráfico e
- p o número de componentes ligados
Embora tenha nome pomposo, o número da complexidade ciclomática (CCN) mede algo simples: a quantidade de caminhos lógicos de um código. Por isso, ele é influenciado pela presença de comandos que provocam desvios, como, por exemplo, if, while, case etc, no caso de aplicativos Java.
Podemos inferir do CCN a dificuldade para entender um código e seu grau de manutenibilidade e testabilidade, ou ainda…



