Artigo .net Magazine 52 - Analisando a complexidade do seu código

A idéia deste artigo é apresentar algumas maneiras simples de medir a complexidade de código, através de ferramentas que implementam métricas conhecidas.

Esse artigo faz parte da revista .NET Magazine edição 52. Clique aqui para ler todos os artigos desta edição

Clique aqui para ler esse artigo em PDF.

Projeto/Análise

Analisando a complexidade do seu código

Encontre problemas e calcule a complexidade no seu sistema

 

Quantas vezes você se deparou com a seguinte situação : seu gerente comunica que você será o responsável por manter um novo sistema desenvolvido por alguém que você nunca ouviu falar (que provavelmente já saiu da empresa), em uma linguagem que pode não ser a sua especialidade, e que provavelmente em breve você terá que fazer adaptações no mesmo para que se adeque às novas necessidades da empresa ? Para piorar, você deverá ser capaz de entender, explicar e testar cada parte do sistema.

Como identificar os pontos críticos do código do novo sistema ? Será que o sistema é realmente complexo ou está mal escrito? Será que as suas alterações irão piorar ainda mais as coisas?

Também podemos imaginar um outro cenário: você está no meio do desenvolvimento de uma nova aplicação e gostaria de “medir” o código que está sendo gerado, para que você seja capaz de indentificar pontos que poderão ser problemáticos para manter no futuro. Ou seja, você gostaria de identificar pontos onde você já poderia estar aplicando técnicas de refactoring.

Acho que essas são situações comuns no dia-a-dia do desenvolvedor, ou seja, lidar com questões de complexidade de código. Será que o código é realmente complexo ou será que eu é que sou o problema? Como justificar ou explicar isso para meu gerente?

Complexidade é um tema que pode ser extremamente subjetivo, pois depende do problema em si e de quem está por resolvê-lo.  Algo complexo pode ser definido como: “Difícil de separar, analisar ou resolver” (webster.com). Trazendo para a área de desenvolvimento, podemos dizer que complexidade é o “esforço necessário para entender e modificar o código corretamente”.

A idéia deste artigo é apresentar algumas maneiras simples de medir a complexidade de código, através de ferramentas que implementam métricas conhecidas. Não nos aprofundaremos em questões de design ou em discussões filosóficas. O intuito é apresentar meios realmente simples e intuitivos de medir a complexidade e, se utilizado durante o ciclo de desenvolvimento, mostrar como isso pode trazer benefícios para garantir a manutenabilidade do código." [...] continue lendo...

Artigos relacionados