paint-brush
Le défi No-Cheat Code - Comment j'ai survécu au projet Odinpar@codebyblazej
297 lectures

Le défi No-Cheat Code - Comment j'ai survécu au projet Odin

par CodeByBlazej5m2024/06/08
Read on Terminal Reader

Trop long; Pour lire

Dans mon premier article, je plonge dans les hauts et les bas de l’apprentissage du code, y compris la séquence délicate de Fibonacci et l’importance de la persévérance. Mon objectif est d'inspirer et de divertir mes collègues codeurs, en particulier ceux qui débutent, en partageant mes expériences, mes conseils et en riant occasionnellement de mes propres difficultés. Rejoignez-moi pour naviguer dans le monde passionnant du codage et documenter chaque étape du processus.
featured image - Le défi No-Cheat Code - Comment j'ai survécu au projet Odin
CodeByBlazej HackerNoon profile picture

Salut, c'est Blazej. Au début de mon parcours d’apprentissage du codage, je me suis promis de ne pas tricher.

Qu’est-ce que je veux dire par tricher ?

Lors de la résolution d'un exercice, je me suis promis de ne pas rechercher la solution tant que mon propre code ne fonctionnerait pas.

Choisir le projet Odin

J'ai décidé de rejoindre The Odin Project parce que j'en avais assez des cours Udemy et des vidéos YouTube, qui n'étaient pas mauvaises du tout, mais j'avais l'impression qu'ils ne me menaient nulle part.


J'avais du mal à me concentrer après seulement trois minutes de visionnage de chaque vidéo, et mes pensées commençaient à s'éloigner. Mais c'est le sujet d'un autre article de blog.

Plonger dans le projet Odin

Le programme du projet Odin est basé sur la lecture de documentation et la résolution d'exercices, la création de projets, la lecture de plus de documentation, la résolution d'encore plus d'exercices et la construction d'encore plus de projets qui, comme vous l'avez deviné, deviennent de plus en plus difficiles à mesure que vous progressez.


Tout allait bien jusqu'à ce que j'arrive à ce point :


Missions TOP



Le défi des palindromes et de Fibonacci

Je me souviens que c'était un long week-end et j'ai passé les 4 jours à essayer de tout résoudre. Les premiers exercices se sont bien déroulés, mais je suis resté bloqué sur les Palindromes (que j'ai finalement résolu) et Fibonacci.


Oh oui… C'était un tueur. Mais vous pourriez vous demander : aucun exercice de ce type n’est répertorié dans l’image ci-dessus, n’est-ce pas ? Oui, mais en vous rendant dans le référentiel mentionné, vous les trouverez en 8ème et 9ème positions.


Il m'a fallu tellement de temps pour résoudre les exercices précédents que j'ai perdu la trace de l'endroit où j'étais censé m'arrêter et j'ai continué.


Tueurs



La lutte avec Fibonacci

Je réfléchissais beaucoup, prenant thé après thé. Au fil du temps, mes pensées ont commencé à changer radicalement, passant de « c'est tout simple, je vais le faire » à « quelque chose ne va probablement pas, mon processus de pensée semble être correct, il doit y avoir une erreur dans l'exercice lui-même. Peut-être devrais-je chercher la solution ?


Plusieurs de mes tentatives


Quand j'étudie, j'utilise la technique Pomodoro : 25 minutes de concentration suivies d'une pause de 5 minutes.


Des Pomodoros passaient par là, et j'ai réussi à arriver au point où j'ai pu obtenir une sorte de séquence de Fibonacci… mais cela ne semblait toujours pas correct.


Fibonacci brisé



Le moment de la tentation

À ce moment-là, je me suis dit : « OK, j’en suis arrivé à ce point, il y a probablement quelque chose que j’apprendrai plus tard, pour que je puisse jeter un œil à la solution et passer à autre chose. »


J'ai fait ce que je pensais… Bien sûr, je me suis dit : « Oh ouais, c'est aussi simple et logique que ça. Ok, passons à autre chose alors ! »

Prendre conscience de l'erreur

Après Fibonacci, il y avait un exercice d'objet à résoudre, et j'étais confus parce que nous n'avions pas encore atteint les objets à ce stade dans TOP.

Et j’avais raison, j’ai avancé quelques cours par erreur…


Cela m'a seulement assuré que tricher était la bonne chose et que j'apprendrais bientôt quelque chose de nouveau qui me permettrait de le résoudre plus tard ou plus facilement. Haha !

Retour aux Palindromes et à Fibonacci

Quelques leçons ont passé, ce qui m'a pris environ une semaine, et j'étais de retour aux Palindromes et à Fibonacci. Cette fois, un peu stressé quand même…


Les palindromes se sont bien déroulés et je me suis assis pour faire Fibonacci. Je dois mentionner ici que lorsque j'ai ouvert le fichier avec l'exercice, il a bien sûr été résolu, j'ai donc essayé de ne pas trop regarder le code.


J'ai juste tout marqué et je l'ai supprimé. Cependant, je me suis souvenu que la première ligne était :


 let fib = [];

La lutte finale

J'ai commencé à le résoudre. Rien ne fonctionnait. J'ai décidé de préparer le dîner et d'aller me promener. Chaque fois que je m'éloignais de l'ordinateur, mon cerveau revenait à Fibonacci.


J'avais l'impression d'avoir VSCode dans ma tête. Je jure qu'au lieu de voir des frites cuire dans ma friteuse à air, je ne pouvais voir que des lignes de code de Fibonacci (en particulier cette foutue boucle et cette déclaration « si »).


Le sentiment amusant était, bien sûr, d'imaginer une solution juste pour réaliser 5 secondes plus tard que soit j'avais déjà essayé cela, soit j'avais simplement réalisé que JavaScript ne fonctionnait pas du tout comme ça !!!

Moments révolutionnaires

J'ai mangé et je suis allé me promener. 1 heure de marche = 1 heure de réflexion profonde. J'avais 3 nouvelles solutions écrites dans mes notes et j'étais sûr à 100% qu'elles fonctionneraient.


Notes sur mon téléphone



Devinez laquelle de ces solutions a fonctionné. Oui tu as raison, AUCUN ! J'obtenais toujours les mêmes résultats. À ce moment-là, j'ai pensé à ajouter quelque chose au tableau.


Je savais que j'avais besoin de quelque chose là-bas. Mais au plus profond de mon cerveau, je recevais la réponse : « Lorsque vous avez supprimé l’exercice résolu auparavant, ce tableau était cependant vide. » Je viens de me mentir.

S'en tenir à mes principes

J'ai recommencé à lire de la documentation et quelques articles, mais je savais que je ne pouvais pas tricher cette fois. J'avais déjà appris que tricher n'aide pas à long terme, et je serais confronté au même problème plus tard si je trichais maintenant.


Trois heures se sont écoulées. Je n'étais plus frustré. Je voulais que cela soit résolu et je voulais comprendre ce que je faisais de mal. J'avais aussi l'impression de savoir comment fonctionnait cette boucle, et il me semblait que j'avais déjà essayé chaque configuration avec des instructions conditionnelles.

Demander de l'aide

La seule solution que j’avais en tête était de demander de l’aide sur la chaîne Discord.


Demander de l'aide


S'il te plaît…



Mon cerveau a abandonné



Yay!



Merci!!!



La solution et les leçons apprises

Je l'ai résolu !!!! Écoutez, j'ai dû mettre des valeurs dans ce tableau et extraire le conditionnel avant la boucle. C’est ce que mon cerveau me disait 10 heures ou plus auparavant.


Mais parce que j’avais vu un peu la solution, je n’arrêtais pas de me mentir de ne pas le faire, croyant que c’était différent. Ehh.


Solution!



Conclusion

La deuxième leçon que j’ai apprise ce jour-là était bien sûr de demander de l’aide. Mais j'encourage fortement chacun à suivre le processus de lecture de la documentation et à essayer de tout résoudre par lui-même, surtout lorsqu'il est encore en train d'apprendre.


J'ai beaucoup appris au cours de ce processus et je crois que je ne ferai plus cette erreur.


Maintenant, je suis beaucoup plus prêt à affronter un autre mur avec un autre exercice. Je connais le processus maintenant !