Valores de métricas de código
Aplica-se a:
Visual Studio
Visual Studio para Mac
Visual Studio Code
O aumento da complexidade dos aplicativos de software modernos também aumenta a dificuldade de tornar o código confiável e mantenedí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. Ao aproveitar as métricas de código, os desenvolvedores podem entender quais tipos e/ou métodos devem ser retrabalhados ou testados mais detalhadamente. As equipes de desenvolvimento podem identificar possíveis riscos, 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 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.
Medidas 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 manter o código. Um valor alto significa melhor manutenção. Classificações codificadas por cores podem ser usadas para identificar rapidamente pontos de problemas em seu código. Uma classificação verde está entre 20 e 100 e indica que o código tem boa manutenção. Uma classificação amarela está entre 10 e 19 e indica que o código é moderadamente mantenedível. Uma classificação vermelha é uma classificação entre 0 e 9 e indica baixa manutenção. Para obter mais informações, consulte o intervalo e o 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 mantenedível. Para obter mais informações, consulte a entrada da Wikipédia para complexidade ciclomática.
Profundidade da Herança – Indica o número de classes diferentes que herdam umas das outras, todo o caminho de volta para a classe base. A profundidade da herança é semelhante ao acoplamento de classe, na medida em que uma alteração em uma classe base pode afetar qualquer uma de suas classes herdadas. Quanto maior esse número, maior a herança e maior o potencial de modificações de classe base para resultar em uma alteração significativa. Para Profundidade de Herança, um valor baixo é bom e um valor alto é ruim.
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 atributo. Um bom design de software determina que os tipos e métodos devem ter alta coesão e baixo acoplamento. O alto acoplamento indica um design difícil de reutilizar e manter devido a suas muitas interdependências em outros tipos. Para obter mais informações, consulte o acoplamento de classe.
Linhas de código-fonte - Indica o número exato de linhas de código-fonte presentes em seu 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áveis. Essa é uma contagem de 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, Lines of Code, 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, estã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, as Métricas de Código ignoram 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 é o código que o desenvolvedor pode ver e alterar.