Compartilhar via


Valores de métricas de código

O aumento da complexidade dos aplicativos de software modernos também aumenta a dificuldade de tornar o código confiável e sustentável. As métricas de código são um conjunto de medidas de software que fornecem aos desenvolvedores uma visão melhor do código que estão desenvolvendo. Aproveitando as métricas de código, os desenvolvedores podem entender quais tipos ou métodos devem ser retrabalhados ou testados mais detalhadamente. As equipes de desenvolvimento podem identificar riscos potenciais, entender o estado atual de um projeto e acompanhar o progresso durante o desenvolvimento de software.

Os desenvolvedores podem usar o Visual Studio para gerar dados de métricas de código que medem a complexidade e a capacidade de manutenção de seu código gerenciado. Os dados de métricas de código podem ser gerados para uma solução inteira ou um único projeto.

Para obter informações sobre como gerar dados de métricas de código no Visual Studio, consulte Como gerar dados de métricas de código.

Medições de software

A lista a seguir mostra os resultados das métricas de código que o Visual Studio calcula:

  • Índice de Manutenção - Calcula um valor de índice entre 0 e 100 que representa a facilidade relativa de manutenção do código. Um valor alto significa melhor manutenção. As classificações codificadas por cores podem ser usadas para identificar rapidamente pontos problemáticos em seu código. Uma classificação verde está entre 20 e 100 e indica que o código tem boa capacidade de manutenção. Uma classificação amarela está entre 10 e 19 e indica que o código é moderadamente sustentável. Uma classificação vermelha é uma classificação entre 0 e 9 e indica baixa capacidade de manutenção. Para obter mais informações, consulte Intervalo e significado do índice de manutenção.

  • Complexidade ciclomática - Mede a complexidade estrutural do código. Ele é criado calculando o número de caminhos de código diferentes no fluxo do programa. Um programa que tem um fluxo de controle complexo requer mais testes para obter uma boa cobertura de código e é menos sustentável. Para obter mais informações, consulte Complexidade ciclomática.

  • Profundidade da herança - Indica o número de classes diferentes que herdam umas das outras, até a classe base. A profundidade da herança é semelhante ao acoplamento de classe, pois uma alteração em uma classe base pode afetar qualquer uma de suas classes herdadas. Quanto maior esse número, mais profunda será a herança e maior será o potencial de modificações de classe base resultarem em uma alteração significativa. Para a Profundidade da Herança, um valor baixo é bom e um valor alto é ruim. Para obter mais informações, consulte Profundidade da herança.

  • Acoplamento de classe - Mede o acoplamento a classes exclusivas por meio de parâmetros, variáveis locais, tipos de retorno, chamadas de método, instanciações genéricas ou de modelo, classes base, implementações de interface, campos definidos em tipos externos e decoração de atributos. Um bom design de software determina que os tipos e métodos devem ter alta coesão e baixo acoplamento. O acoplamento alto indica um design difícil de reutilizar e manter devido às suas muitas interdependências em relação a outros tipos. Para obter mais informações, consulte Acoplamento de classe.

  • Linhas de código-fonte - Indica o número exato de linhas de código-fonte presentes no arquivo de origem, incluindo linhas em branco. Essa métrica está disponível a partir do Visual Studio 2019 versão 16.4 e Microsoft.CodeAnalysis.Metrics (2.9.5).

  • Linhas de código executável - Indica o número aproximado de linhas ou operações de código executável. Esta é uma contagem do número de operações no código executável. Essa métrica está disponível a partir do Visual Studio 2019 versão 16.4 e Microsoft.CodeAnalysis.Metrics (2.9.5). O valor normalmente é uma correspondência próxima à métrica anterior, Linhas de Código, que é a métrica baseada em instrução MSIL usada no modo herdado.

Métodos anônimos

Um método anônimo é apenas um método que não tem nome. Os métodos anônimos são usados com mais frequência para passar um bloco de código como um parâmetro delegado. Os resultados das métricas de código para um método anônimo declarado em um membro, como um método ou acessador, são associados ao membro que declara o método. Eles não estão associados ao membro que chama o método.

Código gerado

Algumas ferramentas de software e compiladores geram código que é adicionado a um projeto e que o desenvolvedor do projeto não vê ou não deve alterar. Principalmente, o Code Metrics ignora o código gerado quando calcula os valores das métricas. Isso permite que os valores das métricas reflitam o que o desenvolvedor pode ver e alterar.

O código gerado para Windows Forms não é ignorado, pois é um código que o desenvolvedor pode ver e alterar.