¿Qué estás buscando?
Hero background image

Cómo garantizar la calidad y la mantenibilidad del código con los analizadores Roslyn

Este artículo explica cómo un analizador Roslyn puede ayudarte a depurar y mejorar la calidad del código de tus juegos en Unity.

Un analizador Roslyn es una herramienta de análisis de código que utiliza las API de la plataforma del compilador Roslyn para analizar código C# en tiempo real. Un analizador puede proporcionar sugerencias de mejora del código, advertencias o errores basados en un conjunto de reglas predefinidas. Funciona como un plug-in para Microsoft Visual Studio y Microsoft Visual Studio Code, complementando las funciones de IntelliSense de estos dos editores de código.

Los analizadores de Roslyn se basan en las sugerencias, los complementos y la información sobre las API disponibles que proporciona IntelliSense con herramientas adicionales para analizar e identificar posibles problemas en el código. Además, obtendrá sugerencias para posibles correcciones utilizando las API de una plataforma de compiladores Roslyn.

Los analizadores de Roslyn son útiles para hacer cumplir las normas y avisarle si incumple una convención de código. Además, a menudo pueden ayudar a corregir esos errores de código o infracciones de estilo.

Visual Studio viene con muchos analizadores predeterminados que son parte del repositorio de código abierto para Roslyn y un buen recurso para aprender más sobre la depuración con este método.

*NOTA*: La mayor parte de este artículo se aplica sólo a Windows. Los analizadores Roslyn también están disponibles para su uso con Visual Studio para macOS, pero el soporte para inspeccionarlos es limitado en comparación con lo que está disponible para Windows.

Analizadores Roslyn
El analizador Roslyn en acción

La imagen de arriba es de un vídeo que muestra un uso típico de un analizador Roslyn. En este ejemplo, un análisis del código ha detectado una variable no utilizada. El desarrollador es consciente de este problema porque el recuento de variables aparece subrayado con un garabato verde. Al hacer clic, se muestra el problema y un enlace con opciones para solucionarlo. En el vídeo, el desarrollador opta por eliminar la variable no utilizada basándose en la recomendación.

Además de un garabato verde, puede ver un garabato rojo o puntos grises. Estos diferentes símbolos denotan el nivel de seguridad del problema, o la gravedad del problema para su código.

Niveles de gravedad del analizador
Niveles de gravedad

Como muestra la tabla anterior, cada analizador tiene un nivel de gravedad configurable por el usuario.

Analizadores Roslyn
Configuración de los analizadores integrados

Hay varios analizadores Roslyn disponibles, pero Visual Studio también viene con algunos preinstalados. Puedes ajustar la configuración de estos analizadores integrados en dos lugares. Para su versión local de Visual Studio, la configuración predeterminada se ajusta a través de Herramientas > Opciones > Editor de texto > C# > Estilo de código > General. Puede cambiar el nivel de gravedad utilizando el cuadro de diálogo que se muestra en la imagen superior.

Analizadores Roslyn
Un vistazo al resaltado del analizador

La imagen anterior es de una clase de código simple. El símbolo de elipsis (tres puntos en una línea) bajo las letras p y o en pos en la línea 7 y la sentencia if en la línea 11 indican una sugerencia. El garabato verde bajo distancia es una advertencia, y el garabato rojo bajo las dos instancias de xPos en la línea 11 es un error. Las advertencias y los errores también aparecerán en la ventana Lista de errores.

Pasos para mostrar posibles soluciones
Mostrar posibles soluciones

Observará que la imagen que muestra la configuración de los analizadores incorporados alterna entre Refactoring only y la sugerencia de preferencias de bloques de código : Prefiero tirantes. La refactorización sólo ocultaría la elipsis bajo la sentencia if.

Si la configuración de los corchetes preferidos es una sugerencia y pasa el ratón por encima de la elipsis, verá un panel que muestraun posible enlace decorrección. Al hacer clic, aparece otro panel con las opciones disponibles. En este caso, sólo hay una opción: añadir llaves al código. La imagen de arriba muestra esta secuencia.

Añadir un archivo .editorconfig

Si desea asegurar el estilo del código para un proyecto específico, puede añadir un archivo .editorconfig que se incluye con el proyecto. Esta puede ser una forma eficaz de hacer cumplir las normas de estilo de código acordadas en un equipo de muchos desarrolladores.

Un archivo .editconfig le permite anular la configuración de su versión de Visual Studio a través de Herramientas > Opciones > Editor de texto > C#. Incluso puede anidar varios archivos .editorconfig si es necesario, colocando uno en la raíz y otro en una subcarpeta. El de la subcarpeta sustituirá al de la raíz.

Las siguientes secciones describen cómo añadir un archivo .editorconfig.

Analizadores Roslyn
Modificación del nivel de gravedad

Cambiar el nivel de gravedad de un analizador incluido en una ventana de texto de código.

Analizadores Roslyn
A través del Explorador de soluciones

Haga clic con el botón derecho del ratón en el Explorador de soluciones y seleccione Nuevo elemento. En el siguiente panel, seleccione Instalado > C# > General editorconfig Archivo (por defecto).

Otra opción es seleccionar la opción Generar archivo .editorconfig desde la configuración en el panel Herramientas > Opciones > Editor de texto > C# (como se ve en la imagen bajo Configurar analizadores incorporados).

Analizadores Roslyn
Su archivo .editorconfig

Ahora que tiene un archivo .editorconfig, Visual Studio (versión Windows) muestra una vista editable del archivo de texto bajo el capó. Los cambios en este archivo afectarán a los scripts C# en la carpeta donde se guarda el .editorconfig y cualquier subcarpeta.

Uso de la consola del gestor de paquetes
Instalación de analizadores personalizados

Puede ampliar la funcionalidad añadiendo a los analizadores Roslyn preinstalados. Los analizadores se instalan como paquetes NuGet o como extensiones de Visual Studio (archivos VSIX). Visite www.nuget.org para el proceso de instalación del paquete NuGet. Uno de los más populares es StyleCop.Analyzers, que busca problemas de estilo en el código.

Instale el paquete en Visual Studio mediante la consola del gestor de paquetes a través de Herramientas > Gestor de paquetes NuGet > Consola del gestor de paquetes. La página www.nuget.org de cada paquete de analizadores le muestra el comando que debe pegar en la consola del gestor de paquetes. Incluso hay un práctico botón para copiar el texto en el portapapeles.

Analizadores Roslyn
Conjuntos analizadores

Los conjuntos de analizadores se instalan y aparecen en el Explorador de soluciones en Referencias > Analizadores.

Analizadores Roslyn
Instalar analizadores como extensiones de VSIX

Otra opción es instalar analizadores proporcionados como extensiones de VSIX. En Visual Studio, seleccione Extensiones > Administrar extensiones.

Si conoce el nombre de la extensión, utilice el campo de búsqueda para encontrarla o simplemente busque "analyzer". La imagen de arriba muestra el Analizador de comentarios seleccionado. Haga clic en Descargar para instalar la extensión del analizador, seleccione Aceptar para cerrar el cuadro de diálogo y cierre todas las instancias de Visual Studio para iniciar el instalador de VSIX.

Seleccione Modificar para iniciar la instalación. Una vez finalizada la instalación, seleccione Cerrar y vuelva a abrir Visual Studio.

Analizadores Roslyn
Comprobación de la instalación de la extensión

Si desea comprobar si la extensión está instalada, seleccione Extensiones > Administrar extensiones. En el cuadro de diálogo Administrar extensiones, seleccione la categoría Instaladas a la izquierda y, a continuación, busque la extensión por su nombre.

Escribe código limpio
Más recursos

Este artículo se centra en los analizadores integrados de Roslyn disponibles con Visual Studio, pero también puedes crear los tuyos propios. Los analizadores creados con la plataforma del compilador .NET pueden mejorar drásticamente la calidad del código de su equipo.

A medida que adquiera experiencia en la creación de analizadores, notará cómo ayudan a su equipo a ser más productivo con problemas de codificación como la sintaxis, las ediciones repetitivas, la orientación con una nueva biblioteca, etc.

Un par de buenos recursos adicionales de Microsoft incluyen este tutorial sobre cómo crear su propio analizador Roslyn de C# y este vídeo de YouTube sobre analizadores Roslyn.

Depuración en Unity

Obtén más consejos sobre cómo depurar tu proyecto Unity en estos artículos:

Libros electrónicos técnicos avanzados

Unity ofrece una serie de guías avanzadas para ayudar a los desarrolladores profesionales a optimizar el código de los juegos. Crear una guía de estilo de C#: Write cleaner code that scales recopila consejos de expertos del sector sobre cómo crear una guía de estilo de código para ayudar a su equipo a desarrollar una base de código limpia, legible y escalable.

Otra guía popular entre nuestros usuarios es 70+ consejos para aumentar la productividad con Unity. Está repleto de consejos para ahorrar tiempo y mejorar tu flujo de trabajo agregado diario con Unity 2020 LTS, consejos que incluso los desarrolladores experimentados podrían haber pasado por alto.

Encuentre todos los libros electrónicos y artículos avanzados de Unity en el centro de mejores prácticas de Unity.

¿Te gustó este contenido?