Arquivo

Archive for the ‘Code Metrics’ Category

Dando uma olhada no Code Metrics

Salve, Salve, Salve pessoal! To gripado.

Hoje eu vou falar sobre o “Code Metrics”.

O Code Metrics é uma ferramenta do Visual Studio que calcula e exibe relatórios no que diz respeito a métricas de código. O Code Metrics por si só, pode ajudar o desenvolvedor revelando informações muito uteis como por exemplo quantidade de linhas de código e a sua complexidade.

Junto com o Code de Analisys você terá a ferramenta perfeita para melhorar tomar decisões sobre performance, manutenibilidade e complexidade de código.

 Vamos ao que interessa.

Para acessar a janela de cálculo do Code Metrics entre no menu Analyze. Duas opções permitem você entrar na tela de calculo do code metrics, “Calculate Code Metrics for …” e  “Calculate Code Metrics for Solution”. A primeira opção permite você crie um relatório calculado com base em um projeto selecionado e a segunda opção cria um relatório calculado com base na solution.

 

Abaixo temos um print da janela do code metrics com alguns resultados.

Segue abaixo informações sobre cada índice.

Maintainability Index

O “índice de Manutenibilidade” é calculado utilizado a partir das seguintes métricas.

– Linhas de código.

– Volume do programa. É a medida da dificuldade de compreensão baseado no número de operadores e operandos no código

– Complexidade Ciclomatica.

Quando o índice de Manutenibilidade não se aplica. Quando seu método tem apenas um switch(select no VB) com vários case. Ou quando não se pode dividir o método.

Cyclomatic Complexity*¹ : A complexidade ciclomatica mede o número de fluxos independentes através do método determinadas através do número número de ramificações condicionais.

A fórmula de cálculo encontrada no MSDN é a seguinte: Cyclomatic Complexity = nº arestas – nº nós +1

aresta: linha entre nós.

nós: ponto de ramificação lógica.

Complicado né? Para simplificar podemos pensar da seguinte forma. Cyclomatic Complexity = nº (if, while, do, case no switch(select VB))

Exemplos : http://msdn.microsoft.com/en-us/library/ms182212.aspx

Quando a complexidade Ciclomática não se aplica: Quando seu método tem apenas um switch(select no VB) com vários case. Ou quando não se pode dividir o método.

Depth of Inheritance: O índice de profundidade da herança indica a quantidade de níveis em profundidade a partir de um nó raiz.

Quando mais heranças maior a dificuldade de manter o método.

De acordo com o Visual Studio utilize no máximo quatro níveis de herança.

Class Coupling: O índice de “Classes acopladas” é calculado a partir da somatória de classes altamente acopladas e de diferentes referencias utilizadas em seu código.

Lines of code:  Este é o índice mais fácil de ser identificado. A contagem de linha de código é baseada a partir do código “IL”, por isso a numeração que aparece nem sempre é a mesma que você esta vendo no código.

Você ainda pode gerar relatórios com esta ferramenta clicando no ícone do Excel na barra superior da janela do Code Metrics.

Espero que vocês tenham gostado do artigo, que o mesmo tenha sido prático e desculpem a escrita anasalada.

Para mais informações acesse o meu outro artigo. Utilizando o Code Analisys – Maintainability Rules

Fonte: http://msdn.microsoft.com/en-us/library/bb385914.aspx

Francisco Gonçalves

Categorias:Code Metrics
%d bloggers like this: