Sin duda la programación es un área del conocimiento llena de desafíos. Es un ambiente constantemente cambiante y es un trabajo que nunca termina, ya que todo es perfectible. Una cosa es estudiar lenguajes de programación y saber algoritmos pero otra cosa completamente diferente es programar una compleja aplicación que al ver el código no provoque un dolor agudo en los ojos.
¿Qué encontrarás en este post?
Toggle¿Por qué es necesario preocuparse en escribir código prolijo?
Bueno, como todo en la vida, viene con ventajas y desventajas. Escribir buen código puede parecer más fácil de lo que realmente es, pero esa ardua tarea os dará excelentes beneficios como:- Se pierde menos tiempo en el mantenimiento del código: El código prolijo es fácil de leer y de seguir, por ende puedes encontrar como mejorar el código o como resolver ciertas incidencias rápidamente. El código limpio es fácilmente escalable.
- Puedes resolver más rápido los problemas: Cuando programar de manera prolija se vuelve una costumbre la resolución de los problemas se hace más simple. Sin dar demasiadas vueltas ni complicaros demasiado, encontráis los atajos a las resoluciones de manera ágil, eficaz y eficiente.
Al pan, pan, y al vino, vino
Nombra las cosas como son. Ya sean variables, clases o instancias de objetos, siempre se explícito. Recuerda que éste es el vínculo entre la lógica de negocios y tú, el programador. No siempre escribes código para ti mismo, recuerda que si estás en un proyecto colaborativo es muy difícil que alguien adivine a que te has referido. Incluso tú, en unos años, cuando vuelves a revisar el código podrías perderte entre tanta incoherencia. Existe una [mala] costumbre de nombrar variables como aux, o auxiliar. ¿Qué es eso? Mucho más fácil es nombrar una variable como hipotenusa, o alturaDeAhastaB, ¿no os parece?Escribir métodos o funciones lo más breve posible
¿Os ha pasado de recorrer interminables líneas de código y pensar que no terminaría más? Si lo has hecho entonces sabrás del dolor al que me refiero. Escribir código prolijo incluye escribir código atomizado. Una función con código atomizado tiene un propósito y no puede reducirse o simplificarse más. Cuanto más simple, más claro. Una función compleja como calcularExistenciasDeSucursales() puede explotarse (sub dividirse) en numerosas funciones como obtenerStockSucursal(), filtrarStockUtil(), sumarExistencias(), etc.Limpiar código innecesario
Muchas veces sucede que al corregir porciones de código, comento la porción anterior “por si acaso”. Y ese “por si acaso” se vuelve “para siempre” llenando el código de basura innecesaria. Lo que hago entonces es hacer un recorrido visual viendo que es necesario mantener y que eliminar. Lo mejor para resolver estos problemas es usar sistemas de control de versiones como Git o SVN, lo que hará que el código quede súper simple y limpio.Legibilidad y consistencia por sobre todo
Sin duda que buscar que todo nuestro problema sea resuelto en una sola línea de código parece un digno desafío para un programador Senior, sin embargo esto puede complejizar la legibilidad del código para terceros. Para escribir código limpio, el ego debe dejarse a un lado. Recuerda optimizar el código para que lo pueda leer otra persona, porque incluso hay altas probabilidades que esa otra persona seas tú y no hay nada más vergonzoso que no puedas entender tus propias “estrategias” de programador Senior. El otro tema es la consistencia. Si has comenzado tu proyecto escribiendo con notación camello (ya sabes: esteEstiloDeNombrado) no lo adulteres nombrando clases o variables con guion bajo o guion medio. Si siempre que obtienes valores usas getMiVariable() entonces no utilices obtenerMiVariable() en otra porción de código donde hagas lo mismo. Algunos lenguajes son flexibles como PHP, algunos son más restrictivos como Java o Python, sin embargo bloquea esta permisividad con costumbres correctas.Mantente fiel a una arquitectura de programación
Hay muchos paradigmas y arquitecturas para elegir en el mundo de la programación. No hay una arquitectura mejor que otra, sino que cada una de ellas puede ser adaptada a diversas necesidades. Por ejemplo, la arquitectura de Modelo-Vista-Controlador, que es una de las más usadas para mantener el código ordenado y separado de manera que quede prolijo. Sin embargo puede resultar tentador violar la arquitectura en medio de un proyecto, pero recuerda, puedes lamentarlo en el futuro. De manera similar hay otras arquitecturas o paradigmas como el modelo orientado a Eventos, que pueden ser usados dependiendo de los requerimientos del proyecto.Siempre comenta el código
Cada bloque de código tiene un propósito, recibe (o no) argumentos y retorna (o no) variables. Toda esta información debe estar explicada brevemente en un bloque comentado, preferentemente antes de los bloques de ejecución. Pero recuerda de ser breve y no debes comentar todo lo que haces, sino solamente lo esencial. Debéis explicar el porqué de las cosas y no el cómo se hace. Un buen código se da a entender por sí solo y no necesita extensos comentarios para ello.Últimos comentarios
Creo que con lo que hemos recorrido hasta ahora es bastante suficiente como para guiaros en escribir un código limpio, prolijo y excelente. Como último comentario puedo recomendaros que siempre estéis actualizados en las últimas implementaciones o actualizaciones de los lenguajes de programación. Conocer si en las últimas versiones se deprecó alguna función es esencial para luego sanear código que se necesite migrar. También es muy importante que os involucréis en los proyectos de código abierto para conocer como escriben códigos los programadores que ya peinan canas en este mundillo. Y para finalizar siempre, pero siempre hay algo nuevo que aprender. A no desesperar que este es un camino para disfrutar y no para sufrir. ¡Ánimo!Colaborador y redactor del sitio de análisis y reseñas de hosting y servicios web www.mejorwebhosting.es
Si tienes algo que deseas compartir o quieres formar parte de KeepCoding, escríbenos a [email protected].