Metricas de codigo

Disponível somente no TrabalhosFeitos
  • Páginas : 6 (1420 palavras )
  • Download(s) : 0
  • Publicado : 30 de agosto de 2012
Ler documento completo
Amostra do texto
Métricas de Código
O que são Métricas de Código?
Métricas nos permitem criar mecanismos automatizáveis para detecção de características obtidas através da análise do código-fonte. Elas podem ser usadas como pontos de avaliação da qualidade do software (Meirelles e Kon, 2009). Além disso, no contexto de métodos ágeis, as métricas são importantes parâmetros para tracking de projetos (acompanhamentodo andamento do projeto), por exemplo, auxiliando na contagem do número de linhas de código já produzidas ou no cálculo da cobertura de teste.
Diante do vasto conjunto existente de métricas, compreender os significados dos valores de todas é uma tarefa custosa, desmotivando o uso de métricas de código-fonte de maneira geral. Essa realidade motivou o desenvolvimento, no Centro de Competência deSoftware Livre do IME-USP, de ferramentas que automatizam a interpretação dos resultados obtidos. Uma dessas ferramentas é a Kalibro (inicialmente demoninada Crab (Meirelles et al., 2009)), que permite ao usuário configurar intervalos numéricos para possibilitar uma interpretação qualitativa do valor de cada métrica. Assim, podemos usar intervalos como “Bom”, “Regular” e “Ruim” ao invés de “0 a1/3”, “1/3 a 2/3” e “2/3 a 1”, facilitando o entendimento e a classificação dos aspectos medidos a partir do código. A dificuldade dessa abordagem consiste em como determinar esses intervalos numéricos. Para definí-los, podemos usar os conceitos apresentados por Robert Martin (Martin, 2008) e outros autores ou elaborar testes empíricos e estatísticos. Entretanto, através dessas abordagens, fixaríamosvalores que não levariam em consideração os diferentes domínios de aplicação, linguagens e outros aspectos relevantes para definir a maneira que programamos, como comentado por Kent Beck em Implementation Patterns (Beck, 2007).
Partindo dessa realidade, adotamos uma abordagem baseada em cenários para identificar trechos de código com características indesejáveis. Nesses cenários, elaboramos umcontexto criado a partir de poucos conceitos de código limpo no qual um pequeno conjunto de métricas é analisado e interpretado através da combinação de seus valores. Por exemplo, conceitualmente buscamos métodos pequenos e com apenas uma tarefa (Seção 2.3). Sendo assim, elaboramos um cenário que contextualiza a interpretação de métricas relativas ao número de linhas e quantidade de estruturas decontrole de forma que seus valores indiquem a presença de métodos grandes. O mapeamento desenvolvido nesta pesquisa não pretende afirmar se um código é limpo ou não. O objetivo é facilitar melhorias de implementação através da aproximação dos valores das métricas com os esperados nos contextos de interpretação.
Uma métrica de software é qualquer tipo de medição que se refira a um sistema de
software,processo ou documentação relacionada, diz Sommerville (Engenharia de Software - 2003). Coletadas essas medições, as questões em relação ao software poderão ser respondidas e confirmações poderão ser feitas, de que as melhorias do software alcançaram, ou não, a meta desejada.
A métrica de software tem como princípio especificar as funções de coleta de dados
de avaliação e desempenho, atribuindoessas responsabilidades a toda a equipe envolvida no projeto e analisar os históricos dos projetos anteriores.
Quando se fala de métricas deve-se ter em mente que se trata de dados, números
quantitativos que irão mostrar em forma de indicadores o estado atual de um determinado projeto. A medição, sendo tão importante assim, deveria ser aplicada em todas as fases do ciclo de vida do projeto, e nãosomente na fase de desenvolvimento, o que é mais comum. Isso fará com que a própria equipe do projeto fique mais confiante diante dos resultados obtidos e melhore cada vez mais o processo pelo qual o projeto é desenvolvido, evoluindo sempre para a qualidade do processo e do produto. A medição tem seu papel muito importante dentro da engenharia de software,
especialmente na gerência de projetos de...
tracking img