Leer antes de escribir

Es común que una persona que toma un proyecto iniciado por alguien más, critique la manera en como esta hecho. Pasa en muchas profesiones y/u oficios. Trato de no hacerlo (tanto); pero...algunas veces es sorprendente como la persona que escribió el código se complicó la existencia reinventando la rueda. Es decir, creando su propia solución para un problema común. Es aún más sorprendente cuando quien lo hace tiene varios años trabajando en proyectos. Trataré de explicar como evitar ser esa persona que complica el código. Antes, daré un ejemplo de situaciones de este tipo.


Al leer código de alguien más.
En las aplicaciones realizadas en .NET la configuración de la aplicación se guarda en un archivo llamado igual que el ejecutable añadiéndole la extensión ".config". Así si mi ejecutable se llama miAplicación.exe tendré un archivo llamado miAplicación.exe.config  en el mismo directorio. En caso de ser una aplicación web, el archivo se llama web.config. El formato del archivo de configuración es estándar y existen librerías que facilitan la lectura de los valores de configuración.

He estado en proyectos donde la persona que lo inició creó su propio formato de configuración y su propia convención para nombrar los archivos. La aplicación funciona; pero esto hace que se requiera más tiempo para entender lo que hace el código fuente del programa, se tiene más código que mantener a cambio de prácticamente ningún beneficio. La decisión parece estar basada en que no se conocía la manera (.NET ) de hacer las cosas. También lo he visto al usar librerías de acceso a datos, donde el programador original creo una forma de ejecutar los scripts, en lugar de seguir la convención o utilizar las clases que da el marco de trabajo.

¿Por qué alguien que tiene varios años programando no usa lo común? ¿Por qué no sigue la convención? Puede ser por la misma razón por la que algunas personas tienen faltas de ortografía. Por ejemplo yo. Hace tiempo al momento de escribir lo hacía con muchas faltas de ortografía, con el tiempo he aprendido a escribir mejor. Ahora es fácil notar (sin ayuda de un corrector ortográfico) cuando una palabra esta mal escrita. Esto no pasó solo por escribir varios años.

Empecé a notar que las palabras se veían raras, si estaban mal escritas, porque me acostumbré a verlas escritas correctamente al leer texto de otras personas, en libros, blogs, etcétera. El leer me ha ayudado a escribir mejor, a notar cuando algo no anda bien en lo que escribo. Aun sigo equivocándome; pero sé que entre más lea y escriba, reduciré mis faltas de ortografía.

Leyendo código. Foto de Gabriel Flores.

De igual forma leer código de otras personas ayuda a escribir mejor código. Siguiendo con el ejemplo anterior, si el programador hubiera leído el código de varias aplicaciones .NET se hubiera percatado de que la forma en que estaba guardando la configuración no era lo común. Hubiera sentido que su código se veía raro. O tal vez ni si quiera hubiera pensando en reinventar como realizar la configuración de la aplicación y hubiera usado directamente la convención del marco de trabajo.

Para escribir buen código además de tener práctica escribiéndolo, también hay que leer código de otras personas. El no hacerlo puede provocar que hagas algo distinto a la convención o "reinventes la rueda", que puede ser divertido (y servir para aprender) la primera vez; pero a la larga es algo a lo que pocos querrían darle mantenimiento. Si quieres escribir mejor código, práctica y lee código de otros.

Comentarios