Cómo mejorar la calidad del código con estos trucos

La calidad del código es muy importante en los proyectos de software. Por eso mantener un código de calidad también. En este artículo se van a repasar algunos trucos.

  • Utiliza un repositorio de código: El primer paso para mejorar la calidad de código es tener un repositorio de código donde guardar los cambios de los ficheros. De esa manera cada vez que se haga un cambio de código se puede guardar el historio de cambios de ese fichero o carpeta. Microsoft ofrece Visual Studio Online donde puedes crear repositorios en Git y TFS privados gratuitos.
  • Refactoriza el código: Refactorizar es una técnica de desarrollo de software que permite reestructurar el código fuente, alterando su estructura interna pero dejando la estructura externa intacta. Es decir, el código debería de hacer lo mismo, pero el código debería de estar más organizara.
  • Code Smell: Es un término anglosajón que la traducción sería el olor del código fuente. Se refiere al posible olor que un código en mal estado podría desprender. Hay muchas referencias en Internet para mejorar el código.

StyleCop

Esta herramienta que permite analizar el formato del código fuente. Es decir, dónde se colocan las propiedades, los eventos, los métodos públicos, privados, ect. Cuando se trabajar en un equipo el estilo de código puede variar entre los miembros del equipo, es importante que el estilo sea similar para que el código sea uniforme. StyleCop se integra perfectamente con VisualStudio para que se analice el código. Además tiene un fichero de configuración donde se puede que reglas se activan o no.

Para empezar a trabajar con StyleCop desde cualquier fichero abierto se puede pulsar botón contrario y pulsar en Run StyleCop.

clip_image001

También se puede lanzar a nivel de solución o carpeta para analizar todos los ficheros de ese nivel.

Una vez que StyleCop analiza el fichero genera una salida con una serie de warnings que hay que corregir.

clip_image003

El código del error SA1200 representa la regla que StyleCop analiza, en la sección de configuración se puede ver un detalle de la regla y además se puede desactivar si el equipo lo considera oportuno.

clip_image005

Hay algunas reglas que son muy polémicas, como por ejemplo el uso de la palabra this en todo el código. Yo personalmente no estoy a favor de poner la palabra this en todos los accesos a miembros de clase pero hay otros desarrolladores que sí. Al final lo importante es que se respete el estilo de código que todo el equipo consensue.

Como en este artículo se está hablando de la calidad, StyleCop solamente generar warnings durante el análisis que el propio desarrollador tiene que invocar, pero se puede integrar con MsBuild para que durante la compilación se haga el análisis estático de código y en el caso de que genere un warning se trate como un error.

FxCop

Esta herramienta viene integrada directamente en Visual Studio y es muy parecida a StyleCop, es decir analiza tú código en busca de posibles errores, solo que FxCop hace un análisis del código compilado, es decir, de tu dll o exe.

Se puede acceder a esta herramienta desde la pestaña de propiedades de proyecto de Visual Studio en la sección de Code Analysis.

clip_image007

Cuando se activa el análisis de código durante la compilación Visual Studio analizará el fichero en base a la lista de reglas que está seleccionado en el esta misma interfaz. Ahora mismo está seleccionado Microsoft Managed Recommended Rules que son las reglas mínimas que Microsoft recomienda para software hecho en .NET. Pero se puede pulsar en el botón de Open para abrir una interfaz de usuario donde se pueda seleccionar que reglas puede activar o desactivar.

clip_image009

Cuando se hace la compilación Visual Studio muestra en la pestaña de Code Analysis el lista de las reglas que han fallado en la verificación y se requiere atención.

clip_image010

Se pueden hacer que reglas individuales se deshabiliten poniendo un atributo en el código fuente, o si se prefiere en un fichero centralizado donde estén todas las reglas deshabilitadas.

Trucos en C#

Trabajar con cadenas de texto. Una de las clases que más se usan de .NET Framework y quizás una de las que menos se conoce. Aquí van una serie de reglas para trabajar mejor con la clase String.

  • Cuando se quiera validar si una cadena es vacía o nula utiliza el método string.IsNullOrEmpty o string.IsNullOrWhiteSpace, antes que hacer myString !=Null && myString != “”.
  • En vez de escribir “” para representar la cadena vacía utiliza string.Empty para hacerlo. La diferencia es que si escribes dobles comillas vacías otro desarrollador puede pensar que la cadena está vacía porque alguien se ha olvidado algo, mientras que si se pone string.Empty es que explícitamente quiere poner la cande vacía.
  • Si se desea concatenar cadena de texto nunca se utilice el signo más (+) para concatenar, tiene muy mal rendimiento, así que expresiones del tipo myString += “hola” son nefastas desde el punto de rendimiento. Mejor usar string.Format, string.Contact o StringBuilder para construir cadenas de texto.
  • La clase String es una clase especial porque es una clase inmutable, eso significa que una vez que se construye una instancia de esta clase, no se puede modificar el contenido. Por eso todas las operaciones sobre la clase String devuelven una instancia nueva en todo momento.

Luis Guerrero.

Technical Evangelist Microsoft Azure.

@guerrerotook