Escribir código y que funcione es fácil (muchas veces), lo difícil es hacer un código mantenible con el tiempo, fácil de leer y reutilizable… pero ¿Cómo lo hacemos?
Existen ciertos principios que nos pueden ayudar un poco con esto.
KISS (Keep it simple, stupid)
El principio KISS (Mantenlo simple, estupido) es lo que dice su nombre, ¿Por qué hacer código complicado e inentendible? Muchas veces ya el lenguaje o framework/libreria que usemos nos dan herramientas para simplificar nuestro código.
La idea del principio es eliminar el código duplicado, no usar métodos ni variables que no necesitemos y que cáda cosa que hagamos sea fácil de entender a simple vista (por ejemplo, dandole nombres correctos a funciones/variables ó simplificando código). También refiere un poco a , por ejemplo, si armamos un flujo para que el usuario use nuestra aplicación, hacerlo simple e intuitivo.
Si seguimos este principio será más fácil mantener nuestro software a lo largo del tiempo, reduciendo el código y facilitando la creación de tests.
DRY (Don’t repeat yourself)
No te repitas a ti mismo. Básicamente, evitemos reescribir código un millón de veces si se puede crear una función que lo reemplace y se pueda reutilizar de manera fácil. ¿Por qué? Tener muchas lineas de código no quiere decir que lo que hiciste esta bien ó que trabajaste mucho en eso, sino que, seguramente, esta mal y es dificil de leer y mantener. Piensen en las próximas personas que toquen su código ó en ustedes mismos en el futuro, ¿Se acuerdan todo lo que hicieron en las lineas que escribieron? Seguramente no.
Código reutilizable es fácil de mantener, si tenemos algo que hace lo mismo en muchos lugares y necesitamos cambiarlo va a llevar un costo extra y posibles errores.
YAGNI (You aren’t gonna need it)
No vas a necesitarlo. El principio habla sobre no agregar cosas que no necesitemos. Al igual que con el resto de los principios lo que buscamos acá es simplificar nuestro código. Si no respetamos esto es probable que tengamos mucho código sin usar u obsoleto en toda nuestra aplicación. Si lo sé, es muy parecido a KISS , la diferencia rádica en que YAGNI se enfoca en remover las cosas innecesarias mientras que el otro en la complejidad.
La idea principal de este principio es no forzar funcionalidades que no necesitemos.
Conclusiones
Estos son algunos de los principios de software que existen, si los seguimos nos podemos asegurar que nuestro código mejorara muchísimo, esto no quiere decir que sea más fácil de hacer PERO si que nos ayudará. Mas adelante, hablaré de SOLID y algunas cosas de Clean Code.
Recomendación de la semana: Páginas para practicar Flexbox y Grid
Voy a recomendar algunas páginas para practicar Grid y Flexbox con juegos.