¿Vas a comenzar a trabajar en grupo y tienes miedo de que nadie entienda tu código? ¿Incluso a ti te cuesta entender lo que escribiste? No te preocupes, existen varias reglas que te permitirán escribir código limpio y legible.
Desarrollar el hábito de escribir código limpio es fundamental para ser un mejor programador. Esto te facilita poder revisar tu código mucho tiempo después y todavía poder entender lo que quisiste hacer en cada línea. Además, le facilita el trabajo a otros programadores que necesitan entender tu código.
¿Qué es un código limpio?
Para escribir código limpio primero hay que saber qué significa esto. Para que tu código se considere limpio tienes que cumplir con 4 reglas:
- Ejecutar todas las pruebas y diseñar un sistema que se puede probar por completo, de modo que funcione de manera esperada. Para lograr esto, las clases deben ser pequeñas y cumplir el principio de responsabilidad única.
- Eliminar el código duplicado, ya que representa un esfuerzo adicional para su mantenimiento.
- Hacer que el código sea claro y expresivo para reducir el tiempo que otros desarrolladores tienen que invertir en entenderlo. Con esto, se disminuyen los errores y el costo del mantenimiento.
- Minimizar el número de clases y métodos a través de la refactorización y extracción de funcionalidades. Ahora bien, aunque es importante tener un número reducido de clases y métodos, es más importante cumplir con las demás reglas.
Ahora sí, veamos cuáles son los consejos para escribir código limpio.
1. Las cosas por su nombre
El nombre que le pongas a los elementos debe indicar de qué se tratan o para qué sirven. Ya sean variables, clases o instancias de objetos, los nombres siempre deben ser explícitos. Una regla para poner nombres podría ser que puedan pronunciar y buscar:
- Si haces un CTRL+F para buscar una variable y esta se llama f, será imposible encontrarla porque el buscador encontrará todas las f que haya en el documento.
- En cuanto a poder pronunciarlo, lo más recomendable es escribir tu código en inglés, y aunque no conozcas el idioma, se debería poder leer el nombre. Por eso no es recomendable usar siglas. Por ejemplo: dateYMD(), tal vez se entienda a qué refiere, pero será complicado pronunciar y no todo el mundo sabrá de qué se trata.
Recuerda que no siempre escribes código para ti mismo, si estás en un proyecto colaborativo o escribiendo un programa que será administrado por otro programador, es importante ser claro y preciso. Incluso tú, en un futuro, cuando vuelvas a revisar el código, podrías confundirte si los nombres no son claros. Así que antes de poner un nombre piensa si dentro de 3 meses recordarás qué hacía esa función. No hay nada más vergonzoso que no poder entender tu propio código.
2. Escribe métodos o funciones de manera breve
¿Te ha pasado alguna vez tener que revisar líneas interminables de código y sentir que no acabaría nunca? Si es así, sabrás el agotamiento que genera ver un documento de 1000 líneas.
Escribir código ordenado incluye escribir código atomizado. Una función con código atomizado tiene un propósito claro y no puede simplificarse más. Cuanto más sencilla, más clara.
Una función compleja como “calcularStocksDeAlmacenes()” puede descomponerse en múltiples funciones como “obtenerStockDeposito()”, “filtrarStockUtil()”, “sumarStocks()”, entre otros. Siempre recuerda que una función tiene que hacer una sola cosa.
3. Elimina código innecesario
A menudo, cuando corregimos partes del código, dejamos comentada una parte del código que ya no sirve, solo “por si acaso”. Ese por si acaso es por si el nuevo código falla, pero cuando verificamos que funciona no borramos el anterior. Entonces, ese “por si acaso” se convierte en un “para siempre”, llenando el código de basura innecesaria. Para solucionar esto, es importante hacer una revisión visual y determinar qué es necesario mantener y qué se puede eliminar.
Los IDE tienen ayudas visuales que permiten detectar variables o elementos que tenemos en el archivo pero que no estamos usando. Si ya sabes que no usarás algo de lo que tienes, elimínalo.
Descubre los mejores frameworks para desarrollo web.
4. Comenta lo justo y necesario
Cada sección del código tiene un objetivo específico, ya sea que reciba o no argumentos y devuelva o no variables. Esta información esencial debe ser resumida en un bloque de comentarios, ubicado preferiblemente antes de los bloques de ejecución.
Pero es importante ser conciso y no comentar todo lo que se hace, solo lo esencial. Se deben explicar las razones detrás de las acciones, no cómo se realizan. Un buen código debería ser claro y comprensible por sí mismo, sin la necesidad de comentarios extensos.
5. Sigue un formato vertical coherente
Ten en cuenta que un código de pocas líneas es más fácil de comprender y se recomienda mantenerlo a un máximo de 500 líneas (que ya es mucho). Otro aspecto a tener en cuenta es que las líneas en blanco se utilizan para separar conceptos separados. Si existen conceptos relacionados deben mantenerse juntos en un formato vertical. El objetivo es evitar tener que navegar entre archivos y clases para una lectura más clara del código.
Con respecto a las funciones, ten en cuenta estas recomendaciones:
- Cuando una función llama a otra, deben estar juntas en el formato vertical y, si es posible, la función llamadora debe ir antes de la función llamada. Esto facilita la comprensión del código.
- Los conceptos más importantes deben ir al comienzo del código y los detalles menos importantes deben ir hacia el final.
- Las funciones que realizan tareas similares deben estar juntas en el código para una mejor organización.
6. Controla y maneja los errores
Es fundamental manejar los errores para asegurarse de que el código funcione correctamente en situaciones en las que las entradas sean incorrectas o los dispositivos fallen. En lugar de utilizar códigos de error, es recomendable utilizar excepciones con mensajes descriptivos que indiquen el motivo de la excepción. De esta manera, se facilita la identificación y solución del error.
7. Presta atención a la la legibilidad y a la consistencia
Aunque puede ser tentador para un programador senior resolver todo en una sola línea de código, esto puede dificultar la comprensión del código por parte de terceros. Así que deja a un lado el ego para poder escribir código limpio.
En cuanto a la consistencia, mantén un estilo de nombramiento consistente a lo largo del proyecto. Si has comenzado con notación camello (camelCase), no mezcles con notación de guion bajo o guion medio. Si siempre obtienes valores con la función “getMiVariable()”, no uses “obtenerMiVariable()” en otra parte del código.
Aunque algunos lenguajes como PHP son más flexibles y otros como Java o Python son más restrictivos, establece buenas prácticas para evitar la permisividad.
¿Ya sabes escribir código limpio?
¿Ya conocías estos consejos? Si los sigues tu código se verá más profesional y te verás mejor cuando trabajes con otros programadores. Pero no solo eso, tú mismo te sentirás mejor porque entenderás mejor lo que hiciste, y visualmente sentirás un alivio al ver un código más limpio, sin líneas innecesarias y con nombres que cualquier va a saber a qué se refieren.
Te recomiendo leer cómo pasar de junior a senior en programación.