Como garantir a qualidade e a capacidade de manutenção do código com analisadores Roslyn
Este artigo explica como um analisador Roslyn pode ajudá-lo a depurar e melhorar a qualidade do código do seu jogo no Unity.
Um analisador Roslyn é uma ferramenta de análise de código que usa APIs da plataforma do compilador Roslyn para analisar código C# em tempo real. Um analisador pode fornecer sugestões, avisos ou erros de melhoria de código com base em um conjunto de regras predefinidas. Ele funciona como um plug-in para Microsoft Visual Studio e Microsoft Visual Studio Code, complementando os recursos do IntelliSense em ambos os editores de código.
Os analisadores Roslyn baseiam-se nas sugestões, conclusões e informações sobre APIs disponíveis fornecidas pelo IntelliSense com ferramentas adicionais para analisar e identificar possíveis problemas em seu código. Além disso, você receberá sugestões para possíveis correções usando as APIs de uma plataforma de compilador Roslyn.
Os analisadores Roslyn são úteis para impor padrões e avisar se você violar uma convenção de código. Além disso, muitas vezes eles podem ajudar a corrigir erros de código ou violações de estilo.
O Visual Studio vem com muitos analisadores padrão que fazem parte do repositório Open Source para Roslyn e é um bom recurso para aprender mais sobre depuração com esse método.
Observação: A maior parte deste artigo se aplica apenas ao Windows. Os analisadores Roslyn também estão disponíveis para uso com o Visual Studio para macOS, mas o suporte para inspecioná-los é limitado em comparação com o que está disponível para Windows.
A imagem acima é de um vídeo que mostra o uso típico de um analisador Roslyn. Neste exemplo, uma análise do código detectou uma variável não utilizada. O desenvolvedor está ciente desse problema porque a contagem da variável está sublinhada com um rabisco verde. Clicar nele mostra o problema e um link com opções para corrigi-lo. No vídeo, o desenvolvedor opta por remover a variável não utilizada com base na recomendação.
Além de um rabisco verde, você poderá ver um rabisco vermelho ou pontos cinza. Esses símbolos diferentes indicam o nível de segurança do problema ou a gravidade do problema para o seu código.
Como mostra a tabela acima, cada analisador possui um nível de severidadeconfigurável pelo usuário.
Existem vários analisadores Roslyn disponíveis, mas o Visual Studio também vem com alguns pré-instalados. Você pode ajustar as configurações desses analisadores integrados em dois lugares. Para sua versão local do Visual Studio, as configurações padrão são ajustadas em Tools > Options > Text Editor > C# > Code Style > General. Você pode alterar o nível de gravidade usando a caixa de diálogo mostrada na imagem acima.
A imagem acima é de uma classe de código simples. O símbolo de reticências (três pontos em uma linha) sob as letras p e o em pos na linha 7 e a instrução if na linha 11 indicam uma sugestão. O rabisco verde sob a distância é um aviso e o rabisco vermelho sob as duas instâncias de xPos na linha 11 é um erro. Avisos e erros também aparecerão na janela Lista de Erros.
Você notará que a imagem que mostra as configurações dos analisadores integrados alterna entre Somente refatoração e a sugestão para Preferências de bloco de código: Prefira aparelho. A refatoração apenas ocultaria as reticências sob a instrução if.
Se a configuração Preferir chaves for uma sugestão e você passar o mouse sobre as reticências, verá um painel que mostra um link depossíveis correções . Clicar aqui mostra outro painel com as opções disponíveis. Nesse caso, apenas uma opção está disponível: adicionar chaves ao código. A imagem acima mostra essa sequência.
Se quiser garantir o estilo do código para um projeto específico, você pode adicionar um arquivo .editorconfig que acompanha o projeto. Essa pode ser uma maneira eficiente de impor regras de estilo de código acordadas em uma equipe maior de muitos desenvolvedores.
Um arquivo .editconfig permite substituir as configurações em sua versão do Visual Studio por meio de Tools > Options > Text Editor > C#. Você pode até aninhar vários arquivos .editorconfig, se necessário, colocando um na raiz e outro em uma subpasta. Aquele na subpasta substituirá aquele na raiz.
As próximas seções descrevem como adicionar um arquivo .editorconfig.
Altere o nível de gravidade de um analisador incluído em uma janela de texto de código.
Clique com o botão direito no Solution Explorer e escolha Novo Item. No próximo painel, escolha Installed > C# > General editorconfig File (default).
Outra opção é selecionar o arquivo Gerar .editorconfig nas configurações no painel Ferramentas > Opções > Editor de Texto > C# (como visto na imagem em Configurar analisadores integrados).
Agora que você tem um arquivo .editorconfig, o Visual Studio (versão Windows) exibe uma visualização editável do arquivo de texto nos bastidores. As alterações neste arquivo afetarão os scripts C# na pasta onde o .editorconfig está salvo e em quaisquer subpastas.
Você pode estender a funcionalidade adicionando analisadores Roslyn pré-instalados. Os analisadores são instalados como pacotes NuGet ou extensões do Visual Studio (arquivos VSIX). Acesse www.nuget.org para ver o processo de instalação do pacote NuGet. Um popular é o StyleCop.Analyzers, que procura problemas de estilo em sua base de código.
Instale o pacote no Visual Studio usando o Console do Gerenciador de Pacotes por meio de Tools > NuGet Package Manager > Package Manager Console. A página www.nuget.org de cada pacote do analisador mostra o comando para colar no Console do Gerenciador de Pacotes. Existe até um botão útil para copiar o texto para a área de transferência.
Os assemblies do analisador são instalados e aparecem no Solution Explorer em References > Analyzers.
Outra opção é instalar analisadores fornecidos como extensões VSIX. No Visual Studio, selecione Extensões > Gerenciar Extensões.
Se você souber o nome da extensão, use o campo de pesquisa para encontrá-la ou simplesmente pesquise “analisador”. A imagem acima mostra o Analisador de comentários selecionado. Clique em Baixar para instalar a extensão do analisador, selecione OK para fechar a caixa de diálogo e feche todas as instâncias do Visual Studio para iniciar o instalador do VSIX.
Selecione Modificar para iniciar a instalação. Assim que a instalação for concluída, selecione Fechar e reabra o Visual Studio.
Se você quiser verificar se a extensão está instalada, selecione Extensões > Gerenciar extensões. Na caixa de diálogo Gerenciar extensões, selecione a categoria Instalado à esquerda e pesquise a extensão por nome.
Este artigo se concentrou nos analisadores Roslyn integrados disponíveis no Visual Studio, mas você também pode criar os seus próprios. Os analisadores criados usando a plataforma .NET Compiler podem melhorar drasticamente a qualidade do código da sua equipe.
À medida que você adquirir experiência na criação de analisadores, perceberá como eles ajudam sua equipe a se tornar mais produtiva com questões de codificação, como sintaxe, edições repetitivas, orientação com uma nova biblioteca e muito mais.
Alguns bons recursos adicionais da Microsoft incluem este tutorial sobre como criar seu próprio analisador C# Roslyn e este vídeo do YouTube sobre analisadores Roslyn.
Depuração em Unity
Obtenha mais dicas sobre como depurar seu projeto Unity nestes artigos:
E-books técnicos avançados
Unity fornece vários guias avançados para ajudar desenvolvedores profissionais a otimizar o código do jogo. Crie um guia de estilo C#: Escreva um código mais limpo e escalonável compila conselhos de especialistas do setor sobre como criar um guia de estilo de código para ajudar sua equipe a desenvolver uma base de código limpa, legível e escalonável.
Outro guia popular entre nossos usuários contém mais de 70 dicas para aumentar a produtividade com Unity. Ele está repleto de dicas para economizar tempo para melhorar seu fluxo de trabalho agregado diário com o Unity 2020 LTS – dicas que até mesmo desenvolvedores experientes podem ter perdido.
Encontre todos os e-books e artigos avançados do Unity no hub de práticas recomendadas do Unity.