5 cosas que aprendí en una serie de mini-retos de JavaScript

Durante un mes hicimos una serie de 10 mini-retos; nada que pueda tomarnos demasiado tiempo y con un fin simple: sentarnos frente a una pantalla y dejar que el algoritmo fluya.
Creemos que la práctica es bueno; al fin y al cabo es el truco para convertirse en gigante.
A continuación 5 cosas que aprendí:
1. No hay un solo camino
Quien codea
lo sabe. Llegar sano y salvo a la solución es la meta y generalmente existen muchos caminos para lograrlo. ¿Qué camino tomaste? ¿Y por qué? Uno puede tener muchas razones (o ninguna) para tomar el camino que tomó, finalmente saber que llegaste a la solución te da ciertamente unos bits de paz.
2. Aprendes a pensar
Ok, ¿ahora cómo resuelvo esto?. Le das vueltas al asunto, escribes poco código y muchos console.log()
. Vaya, no es el camino, o quizás sí. Todo se resume en algoritmos, en pensar y en analizar. Estos mini-retos son para eso, ¿no?. Aquí uno podía darse el lujo de intentar una y otra vez, fallar e intentar nuevamente.
3. Descubres truquillos
que no conocías
El puro placer de reducir tus 30 líneas de código te empuja a escudriñar formas de hacerlo más limpio
. Es lógico pensar, nuestra reputación esta en juego frente a 5 líneas del otro participante.
Comienzas a descubrir que Regex es un arma mortal para el manejo de patrones en cadenas de texto; O el valor de usar […string] para obtener un array en menos de que cante el gallo, ni que decir de .map, .find, .filter, .reduce, .some
. Y la magia de obtener un boolean usando esto !!
.
4. Compartir lo que sabes
Al final de cada reto no sólo compartes una porción de código. ¿Cuántas veces te sentaste en solitario a resolver ejercicios de JavaScript en tu habitación? O no lo terminaste o lo dejaste a medias, o en el mejor de los casos te quedaste con un sabor de creo que hay formas de hacerlo en menos líneas
. En lo personal, muchos retos me dejaron pensado: Vaya, con que también podía resolverse así
.
5. Ser constantes
Eran 10 mini-retos, sí, sólo 10, pero había que terminarlos. Eso conlleva a sentarse cada noche y terminar lo que se tenía que terminar.
Les comparto el repositorio si quieren hecharle un ojo: https://github.com/yersoncp/js-fronteros-miniretos-t1