El maravilloso mundo de ReSharper

Lo malo que tiene un programador es que siempre tiene que estar actualizado porque en cualquier momento te vuelves absoleto.

Siempre ando buscando información e intentando estar al día. Un día me topé con ReSharper. La información que leí a grandes rasgos era «Análisis del código», «Refactorización», «Navegación y búsqueda», «Formateo y limpieza de código», «Generación de código», entre otros.

Así que un día decidí probar esos 30 días que da JetBrains. El resultado fue amor a primera vista. Ya no me planteo programar sin ReSharper. No, no exagero, tiene tantas virtudes que en realidad no sé por dónde comenzar.

Intentaré de explicar algunas de ellas.

Con lo primero que te encuentras es una «Barra de marcadores» a la derecha.

Resharper Barra Marcadores

Si hacemos un zoom del recuadro en verde podemos identificar.

Resharper Estados Barra Marcadores

Indicador de estado: Se muestra un icono en la parte superior de la barra de marcadores. Podremos encontrar los siguientes iconos:

Tipos de indicadores de estado:

El fichero actual contiene errores que impedirían que el proyecto se compilara o generarían excepciones en tiempo de ejecución.

icono advertencia Hay advertencias, pero no hay errores que impidan la compilación del proyecto.

icono tic El fichero no contiene errores o advertencias, pero puede haber problemas de código con niveles de gravedad menores.

icono pausa El archivo está excluido de la inspección de código.

En la barra de marcadores te coloca una serie de líneas horizontales de colores. Al pasar el ratón sobre la una línea, te indica cual es el problema, y al hacer clic te lleva al código fuente donde se encuentra el dilema. Y aquí es donde viene la magia de ReSharper. Te ofrece la mejora o la solución, y si le dices que sí, te lo corrige.

Pero entrando un poco mas en el tema de programación, en mi caso el de C#, encontraras que te sugiere cambios, algunas muy sencillas como agregar #region al grupo de métodos que tienes seleccionado, donde te incluye #region, #endregion y el cursor se posiciona sólo para agregar el nombre de esa #region. Pero también es capaz de cambiar los bucles for o foreach por sentencias LINQ. Simplifica los operadores lambda, te formatea el código, etc. Vamos a ver algunos ejemplos:

Uso de interpolación de cadena

¿Ustedes lo sabían>?, pues yo no. Gracias a ReSharper descubrí lo que es la interpolación de cadenas, esto está disponible a partir de C# 6.0.

Resharper interporlacion

Convertir foreach en expresión LINQ (mi preferida)

Soy amante de los foreachs y me olvido de que existe otra forma más simple de hacerlo.

Resharper Linq

Corregir una posible NullReferenceExcepcion

ReSharper es capaz de detectar que en una llamada a un método un objeto podría ser null, y esto termine en un System.NullReferenceException en tiempo de ejecución. ReSharper sugiere dos soluciones. El tradicional de añadir la verificación del null adelante de la llamada, mi preferida. O la que introdujo C #6.0 usando el operador condicional de null “ .? ”. Yo prefiero el tradicional, soy mas visual, pero para gusto colores.

Resharper condicional null

Plantillas envolventes

Se usan para envolver rápidamente una expresión, una declaración, bloque de código con if…else, try…catch u otras construcciones de código. La forma de hacerlo es seleccionar lo que se quiere envolver y luego elegir el tipo de bloque que se quiere aplicar.

Resharper plantillas envolventes

Estas son algunas cosas que nos ofrece ReSharper, yo en lo particular estoy encantada, porque entras en la dinámica de ir aplicando las cosas que vas aprendiendo. Pero no todo es maravilloso, si quieres tener esto después de los 30 días de prueba tendrás que pagar.

Si quieres saber más sobre ReSharper te dejo el enlace

(*) GIFs obtenidos de la web de JetBrains

María Eugenia Pérez

Área técnica .NET

Com podem ajudar-te?

Contacta amb nosaltres si tens qualsevol dubte, si vols deixar un comentari o bé si vols més informació sobre 3ASIDE.

El nostre treball és rigor, és compromís, és innovació, és humà.