Saltar al contenido

10 pasos para limpiar el código

El código limpio es un estilo de desarrollo centrado en el lector que produce un software fácil de escribir, leer y mantener. A menudo, puede tener la tentación de considerar su trabajo completo cuando la aplicación funciona como se espera. Pero no estamos simplemente escribiendo código para el consumo de la computadora.

El código limpio se trata de reconocer que tu público no es sólo un ordenador, ¡son humanos de verdad! Con este principio en mente, repasemos las razones por las que el código limpio importa y nos sumerjamos en algunos consejos y trucos cuando se trata de cómo podemos hacerlo en la práctica.

10 pasos para limpiar el código
10 pasos para limpiar el código

Por eso es importante mantener limpio el código

Es fundamental

Los principios de código limpio conducen a un código fuente altamente modular y por lo tanto más fácil de leer y probar. Si piensas en estas prácticas como parte de una casa, el código limpio es la base. Implementar los principios de código limpio es una habilidad fundamental que vale la pena especialmente cuando es el momento de refactorizar el código o ponerlo a prueba.

Hay tres principios básicos que hay que recordar cuando se trata de escribir un código limpio:

  1. Elegir la herramienta adecuada para el trabajo
  2. Optimizar la relación señal-ruido
  3. Esforzarse por escribir un código de autodocumentación

La lectura es difícil

Llamémoslo como es: Escribir el código es relativamente fácil. Leer es difícil. Por eso es tan tentador reescribir en lugar de hacer el duro trabajo de leer y comprender el código existente. Dado que leer código es naturalmente un desafío, si escribes un código que apenas puedes seguir mientras lo escribes, descubrirás que eres incapaz de comprenderlo todo más tarde.

La deuda técnica es deprimente

Escribir un código descuidado o confuso inyecta deuda técnica en los proyectos. Y aunque la deuda técnica puede ser útil cuando se considera cuidadosamente en el contexto, la deuda técnica excesiva es deprimente. Es probable que obtengas más satisfacción laboral por la calidad de tu trabajo que por la cantidad. La historia ha demostrado que es poco probable que encuentres tiempo para limpiarlo más tarde, así que ¿por qué no hacerlo bien la primera vez?

Nadie quiere ser un verbo

Vale, las otras razones son sólidas, pero esta es la clave: Todo el mundo conoce al compañero anterior cuyo nombre se convirtió en un verbo para describir el código sucio.

«Oh hombre, este código ha sido Jimmy$0027d.»

Ouch. Comentarios como este son el beso de la muerte para las perspectivas de empleo a largo plazo. Queremos que nuestros compañeros de trabajo nos recomienden y contraten en futuros puestos, ¿verdad? Ser conocido por escribir un código limpio es una gran manera de asegurar que tus compañeros de trabajo te recomienden y esperen trabajar contigo y con tu código en el futuro.

Así es como puedes empezar a escribir un código más limpio hoy

Ahora que hemos cubierto por qué importa el código de limpieza, vamos a la práctica de la misma. Aquí hay algunas maneras de asegurar que su código salga limpio.

1. Convenciones

El uso de una convención de nombres es una gran manera de empezar, mantiene las cosas claras y te permite saber exactamente con qué estás trabajando.

Una convención de nombres básicamente significa que decides llamar a tus variables por nombres que se adhieren a un cierto conjunto de reglas. Puede ponerse peliagudo, y mucha gente no siempre se pone de acuerdo sobre qué es lo mejor. Así que para mantenerlo simple. Puede ser algo tan simple como prefijar los nombres de las variables con su tipo de datos, así:

2. 360 no scope

Lo siguiente, que se desprende muy bien del uso de convenciones de denominación, es el uso de una convención para indicar el alcance variable. De nuevo, no hay reglas, y cada uno tiene su propia manera de hacerlo – siempre y cuando sea consistente a través de todo su código, siempre estará claro qué puede ser usado desde dónde.

Una convención común es la siguiente:

3. Diga lo que quiere decir

Esto es bastante sencillo, pero es probablemente el más común y tal vez el más fácil de olvidar. Fácilmente la cosa más frustrante para otro desarrollador que mira tu código es ver una variable con un nombre engañoso o, peor aún, nombrada con una sola letra.

Veamos un ejemplo de esto:

Aunque esto podría parecer correcto, y es funcional, si alguien lo encontró en un mar de código sin comentarios, no está claro por qué nada de esto está sucediendo.

4. El espacio blanco es un espacio agradable

El uso del espacio blanco puede ser increíblemente poderoso y normalmente no tiene ningún inconveniente. A veces, en lenguajes como JavaScript, donde el tamaño del archivo del código fuente en sí es importante, es posible que desee que sus archivos sean pequeños, y que el espacio en blanco pueda añadir algunos kilobytes extra. Cuando pueda, mantenga todos sus espacios en blanco durante el desarrollo para que el código sea legible. A continuación, utilice uno de los muchos programas pequeños e inteligentes que revisan el código y cortan todos los espacios en blanco justo antes de subirlo.

5. Comentar salva vidas – o al menos dolores de cabeza

Agregar comentarios a su código puede ser invaluable: pueden mostrar rápidamente lo que hace una función compleja, o tal vez incluso explicar por qué ciertas cosas deben suceder en un cierto orden. Sin embargo, tienen un inconveniente, porque demasiados comentarios pueden tener el efecto opuesto y, de hecho, hacer que el código sea más confuso.

6. Automatizar después de tres veces

Escribir un código un poco más técnico no significa que tenga que ser menos legible. Las líneas y líneas de código duplicado no sólo son más difíciles de leer que una solución concisa y elegante, sino que también aumentan la posibilidad de error. Lo bueno de la programación es que puedes expresar comandos complejos de forma ordenada, reutilizable e inteligente.

Aquí hay un ejemplo de un pobre código duplicado:

Y aquí hay un enfoque que limpia todo:

7. El poder de i

Cuando tienes un bloque de código con múltiples bucles uno tras otro, necesitas diferentes variables iteradoras. Siempre hay un debate sobre qué usar, y la respuesta es ligeramente subjetiva, pero cuando están uno tras otro, tiene sentido declarar tu iterador fuera del bucle y reutilizarlo. No sólo es mejor mirar, ya que siempre está claro que la «i» es tu variable iteradora, sino que también es ligeramente más eficiente.

Veamos un ejemplo de lo que estoy hablando:

8. Las aves de una pluma se agrupan (y agrupan variables similares)

Cuando tus proyectos empiecen a ser más grandes, tus clases probablemente tendrán muchas variables. En primer lugar, deberías mantener todas tus declaraciones de variables en la parte superior de la página, o al menos todas juntas en algún lugar, esto acelera cualquier tipo de búsqueda.

En segundo lugar, aunque estén todos juntos, a menudo ayuda el ordenarlos de tal manera que sea aún más fácil de comprender. Por ejemplo, agruparlas todas por lo que son es una buena forma de hacerlo. Es muy probable que tengas varios tipos de un mismo objeto, así que manténlos todos juntos en grupos, y luego tal vez tengas una sección para los varios debajo.

9. Manténgalo funcional

Las definiciones de las funciones a lo largo de una milla son una forma fácil de desordenar su código. Normalmente es mejor echar un vistazo a lo que se está haciendo. Si una función está haciendo más de lo que su nombre sugiere, entonces tal vez parte del exceso de funcionalidad podría dividirse en su propia función.

10. Mantén la clase

Similar al problema funcional, si hay una gran cantidad de funcionalidad que se mantiene en un solo lugar, podría ser mejor crear una clase separada para manejar esa funcionalidad.

Cuando se trata de escribir, leer y mantener, un código limpio es esencial. Los pasos descritos anteriormente no son reglas concretas. Úsalas como un esquema, o úsalas como una guía para encontrar tu propio estilo y forma de hacer las cosas. Lo importante es esto: Manténgalo ordenado, claramente dividido en secciones y consistente. Cualquiera que trabaje con su código apreciará el esfuerzo, e incluso podría aprender algo de su ejemplo.