paint-brush
El desafío del código sin trampas: cómo sobreviví al proyecto Odinpor@codebyblazej
248 lecturas

El desafío del código sin trampas: cómo sobreviví al proyecto Odin

por CodeByBlazej5m2024/06/08
Read on Terminal Reader

Demasiado Largo; Para Leer

En mi primera publicación, me sumerjo en los altibajos de aprender a codificar, incluida la complicada secuencia de Fibonacci y la importancia de la perseverancia. Mi objetivo es inspirar y entretener a otros programadores, especialmente aquellos que recién comienzan, compartiendo mis experiencias, consejos y, de vez en cuando, reírme de mis propias luchas. Únase a mí mientras navego por el apasionante mundo de la codificación y documento cada paso del camino.
featured image - El desafío del código sin trampas: cómo sobreviví al proyecto Odin
CodeByBlazej HackerNoon profile picture

Hola, soy Blazej. Al comienzo de mi viaje de aprendizaje de codificación, me prometí a mí mismo que no haría trampa.

¿Qué quiero decir con hacer trampa?

Al resolver cualquier ejercicio, me prometí a mí mismo que no buscaría la solución hasta que mi propio código estuviera funcionando.

Elegir el proyecto Odin

Decidí ir con The Odin Project porque estaba cansado de los cursos de Udemy y los videos de YouTube, que no estaban nada mal, pero sentía que no me llevaban a ninguna parte.


Me resultaba difícil concentrarme después de sólo tres minutos de ver cada vídeo y mis pensamientos empezaban a divagar. Pero este es el tema de otra publicación de blog.

Sumergirse en el proyecto Odin

El plan de estudios del Proyecto Odin se basa en leer documentación y resolver ejercicios, crear proyectos, leer más documentación, resolver aún más ejercicios y construir aún más proyectos que, como habrás adivinado, se vuelven más difíciles a medida que avanzas.


Todo iba bien hasta que llegué a este punto:


Tareas principales



El desafío de los palíndromos y Fibonacci

Recuerdo que era un fin de semana largo y estuve los 4 días intentando solucionarlo todo. Los primeros ejercicios transcurrieron sin problemas, pero me quedé atascado en Palíndromos (que finalmente resolví) y Fibonacci.


Oh, sí... Eso fue un asesino. Pero podrías preguntar, no hay ejercicios de este tipo enumerados en la imagen de arriba, ¿verdad? Sí, pero a medida que vayas al repositorio mencionado, los encontrarás en las posiciones 8 y 9.


Me tomó tanto tiempo resolver los ejercicios anteriores que perdí la noción de dónde debía detenerme y seguí adelante.


Asesinos



La lucha con Fibonacci

Estaba pensando mucho, tomando té tras té. A medida que pasó el tiempo, mis pensamientos comenzaron a cambiar drásticamente de "es todo simple, lo haré" a "probablemente algo anda mal, mi proceso de pensamiento parece ser correcto, debe haber algún error en el ejercicio en sí". ¿Quizás debería buscar la solución?


Varios de mis intentos


Cuando estudio, utilizo la técnica Pomodoro : 25 minutos de concentración seguidos de un descanso de 5 minutos.


Los Pomodoros pasaban y logré llegar al punto en el que pude obtener algún tipo de secuencia de Fibonacci... pero todavía no parecía correcto.


Fibonacci roto



El momento de la tentación

En ese momento pensé: "Está bien, llegué a este punto, probablemente haya algo que aprenderé más adelante, así puedo echar un vistazo a la solución y seguir adelante".


Hice lo que pensé... Por supuesto, pensé: “Oh, sí, es así de fácil y está pensado de manera lógica. Ok, ¡sigamos adelante entonces!”

Darse cuenta del error

Después de Fibonacci, había un ejercicio de objetos por resolver y estaba confundido porque aún no habíamos llegado a los objetos en ese punto en TOP.

Y tenía razón, me adelanté algunas lecciones por error…


Sólo me aseguró que hacer trampa era lo correcto y que pronto aprendería algo nuevo que me haría resolverlo más tarde o con más facilidad. ¡Ja ja!

Volviendo a Palíndromos y Fibonacci

Pasaron un par de lecciones, que me llevaron alrededor de una semana, y estaba de regreso en Palíndromos y Fibonacci. Esta vez, aunque un poco estresado...


Los palíndromos transcurrieron sin problemas y me senté a hacer Fibonacci. Debo mencionar aquí que cuando abrí el archivo con el ejercicio, por supuesto estaba resuelto, así que traté de no mirar mucho el código.


Simplemente marqué todo y lo eliminé. Sin embargo, recordé que la primera línea era:


 let fib = [];

La lucha final

Empecé a resolverlo. Nada funcionaba. Decidí preparar la cena y salir a caminar. Cada vez que estaba lejos de la computadora, mi cerebro volvía a Fibonacci.


Sentí como si tuviera VSCode corriendo en mi cabeza. Lo juro, en lugar de ver patatas fritas cocinándose en mi freidora, solo pude ver líneas de código Fibonacci (especialmente ese maldito bucle y la declaración 'si').


La sensación divertida fue, por supuesto, imaginar alguna solución solo para darme cuenta 5 segundos después de que ya había probado esto o simplemente me di cuenta de que JavaScript no funciona así en absoluto.

Momentos revolucionarios

Comí y salí a caminar. 1 hora de caminata = 1 hora de pensamiento profundo. Tenía 3 nuevas soluciones escritas en mis notas y estaba 100% seguro de que funcionarían.


Notas en mi teléfono



Adivina cuál de ellos funcionó. Sí, tienes razón, ¡NINGUNO! Seguía obteniendo los mismos resultados. En ese momento pensé en agregar algo a la matriz.


Sabía que necesitaba algo allí. Pero en lo más profundo de mi cerebro, recibía la respuesta: "Sin embargo, cuando eliminaste el ejercicio resuelto antes, esa matriz estaba vacía". Me mentí a mí mismo.

Cumplir con mis principios

Volví a leer la documentación y algunos artículos, pero sabía que esta vez no podía hacer trampa. Ya había aprendido que hacer trampa no ayuda a largo plazo, y me enfrentaría al mismo problema más adelante si hacía trampa ahora.


Pasaron tres horas. Ya no estaba frustrado. Quería que esto se resolviera y quería entender qué estaba haciendo mal. También sentí que sabía cómo funcionaba este bucle y me pareció que ya había probado todas las configuraciones con declaraciones condicionales.

Pidiendo ayuda

La única solución que tenía en la cabeza era buscar ayuda en el canal de Discord.


pidiendo ayuda


Por favor…



mi cerebro se rindió



¡Hurra!



¡¡¡Gracias!!!



La solución y las lecciones aprendidas

ya lo solucione!!!! Mira, tuve que poner valores en esa matriz y extraer el condicional antes del ciclo. Eso es lo que mi cerebro me decía en realidad 10 o más horas antes.


Pero como había visto un poco de la solución, seguí mintiéndome a mí mismo para no hacerlo, creyendo que era diferente. Ehh.


¡Solución!



Conclusión

La segunda lección que aprendí ese día fue, por supuesto, pedir ayuda. Pero recomiendo encarecidamente a todos que pasen por el proceso de leer la documentación y tratar de resolver todo por su cuenta, especialmente cuando todavía están aprendiendo.


Aprendí muchísimo durante este proceso y creo que no volveré a cometer este error.


Ahora estoy mucho más preparado para chocar contra otra pared con algún otro ejercicio. ¡Estoy familiarizado con el proceso ahora!