jueves, 3 de diciembre de 2015

Los colorines que importan.

Ya he comentado en algún caso que todo buen desarrollador de software que se precie debe tener una mente despierta con respecto a los malos olores que puede desprender el diseño e implementación de un sistema de información.

Una cosa que ayuda a detectar estos malos olores es escoger los colorines adecuados en el editor de código fuente. Esto ofrece una ayuda visual para detectar esos malos olores.

Mis opiniones más importantes con los susodichos colorines para C# son:

Los valores literales en código, como cadenas de texto y números, deben tener un color que destaque con fuerza del color de fondo del editor y de los demás componentes. De un vistazo se debe poder ver si hay un montón de estos en un archivo de código fuente. Esto ayuda a detectar cadenas mágicas, bizarros hacks y salvajadas varias.

r.Arguments[1= 2345;
r.Arguments[2= "cadena de la muerte";

Los atributos, propiedades, variables locales y parámetros de los métodos en una clase deben poder ser diferenciados entre ellos fácilmente por su color y/o estilo.  Esto ayuda a ver cuando se está almacenando algo en un atributo privado a pelo o usando la propiedad de la clase, o cuando estás almacenando algo en un parámetro que de entrada, etc. Con esto podemos detectar diseños de clases incorrectas que no cumplan SOLID. He intentado seguir la pauta de que el color sea más intenso según su "peligrosidad" para que sea más fácil detectar despropósitos.

int vbleLocal = 2;
parametro = "aaaaaaaa";
atributo = vbleLocal;
Propiedad = "bbbbbbb";

Las propiedades de las clases, las estructuras y los enumerados no tienen paréntesis al final y se asignan y recuperan sus valores utilizando el operador de asignación sin ninguna distinción sintáctica; si su nombre no es muy acertado puede llegar a dificultar la lectura del código. Con los colorines es más fácil diferenciarlos de un vistazo rápido.

Clase clase = new Clase();
Estructura estructura;
var a = clase.Propiedad;
var b = estructura.campo2;
var c = Formatting.Indented;

Lo que sería realmente interesante para tunear esto de forma definitiva es poder cambiar los colores según los decoradores como Public, Private, Static, Virtual, etc. Y existe una extensión en Visual Studio que nos lo permite. Su nombre es Codinion y ofrece unas posiblidades muy gratas.



1 comentario: