Formas de escribir código

public void ContenidoMensaje()

{

Estando algunos años en el tema de desarrollo y trabajando con varios profesionales, algo que siempre me ha llamado la atención son las distitnas formas que tenemos para escribir código o el “estándar” de nomenclatura. Esto le he evidenciado en algunas personas que al preguntarle el por qué escriben de cierta forma, la respuesta es PORQUE ASÍ ME ENSEÑARON EN LA U, y algunos lo defienden a muerte, y lo peor es que no tiene ninguna razón ni saben bien por qué escriben así, es decir adoptan un estilo por tradición y a ciegas sin haber analizado las ventanas y desventajas. Personalmene en la universidad me explicaron distinos estándares (Camel, Hungarian Notation, etc..), sus ventajas y desventajas, y que como profesionales deberíamos poder decidir que usar.

Por ejemplo, cuantos escriben código usando esta notación:

int intEdadPersona;
string strNombrePersona;

Podrá estar mal o bien, personalmente no me gusta para nada este estilo, y no le veo ninguna utilidad de anteponer tres letras que denoten el TIPO de dato, me parece anticuado y que puede llegar a ser confuso, con lenguajes que actualmente están fuertemente tipificados e IDEs que facilitan conocer en cualquier momeno el tipo de una variable, esto es innecesario, se han puesto a leer un libro de programación?, han visto si usan ese estándar antigüo?.. pues creo que no. Solo piensen en el caso de que creen sus propias estructuras: Persona, Carro, Perro:

Persona prsNombre;

Carro crrModelo;

Perro prsNombre (no hay como porque se repite), prsNombrePerro?, prrNombre?

Una vez tuve la oportunidad de leer un libro de estándares para desarrollar para .Net Framework escrito por los autores del mismo Framework, básicamente recomiendan que las variables se debe nombrar por lo que representan y no por lo que contienen, por ejemplo:

string nombrePersona;

La variable nombrePersona contiene como su nombre lo indica, el nombre de un individuo, y no me dice que es un string (str). De esta forma se tiene un código mas limpio y fácil de leer y mantener. Porque qué pasaría si tengo una variable llamada intEdad, y la uso en muchas partes de mi código, y luego por cosas de la vida veo que es necesario que la edad se guarde como cadena y no como entero?, hay que modificar el nombre de la variable en todas sus ocurrencias por un simple cambio en el tipo de dato (que viva el “refactor” pero igual es un esfuerzo operativo innecesario).

Veo que esa notación de nombres media Hungarian Notation (porque ni si quiera es el estándar completo) es usada bastante, específicamente en nombrar variables y en tablas. Por otro lado .Net Framework usa esta notación en las interfaces al anteponer la letra ‘I’. Yo uso parcialmente esta notación en algunos nombres de controles, pero no más.

Otros casos que me parecen confusos es cuando la usan en nombres de tablas, es muy probable que luego de un tiempo ni el que se inventó los nombres recuerde que significan las letras que puso: por ejemplo SAC_CAL_DET_ESTUDIANTE, tan claro como el agua verdad?, obviamente se tratata del Sistema ACadémico, y esa tabla almacena las CALificaciones DETalladas del ESTUDIANTE, o… ¿era el CALendario DETallado del ESTUDIANTE??

Mi recomendación final para todos los desarrolladores/estudiantes/profesores/profesionales no es que se cambien de un estilo a otro, mas bien piensen bien la nomenclatura que usan, que tiene de bueno y malo, lo uso porque así me enseñaron en la universidad?, que tal si el profesor estaba equivocado. Para los que estudian, no crean siempre en lo que dice el profesor (yo fui profesor, y esa frase me la dijo un profesor) , investiguen y tengan capacidad de decisión, algunas veces la única diferencia entre un alumno y un profesor es un capítulo del libro; una forma de progresar y mejorar es también cambiando e innovando y no mantener tradiciones por que sí y ser profesionales de cabeza cuadrada.

}

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: