La transition d'un jeu de Blackjack à un téléchargeur de données Pokémon CLI a été un voyage enrichissant (et humiliant) ! Voici ce que j'ai appris, où je me suis retrouvé bloqué et comment chaque projet m'a aidé à grandir en tant que développeur.
Lorsque j'ai travaillé sur mon jeu de Blackjack, je me suis familiarisé avec le flux de contrôle, la logique conditionnelle et la gestion des entrées utilisateur. Le Blackjack était relativement autonome, mais il m'a donné la confiance nécessaire pour gérer la structure du projet et déboguer les problèmes au fur et à mesure qu'ils surgissaient. Ces principes fondamentaux sont devenus incroyablement précieux dans le projet Pokémon CLI, où les choses concernaient moins les règles du jeu que la récupération et la gestion de données externes. Avoir cette base m'a aidé à me concentrer sur les domaines les plus récents et les plus complexes, comme les fonctions asynchrones et la gestion des erreurs.
Dans Pokémon CLI, l'un des plus grands progrès a été d'apprendre à travailler avec des fonctions asynchrones et à gérer les erreurs de manière concrète. Les exercices ont été utiles, mais l'utilisation de async/await dans ce projet a consolidé la façon de gérer les requêtes API, garantissant que mon programme ne plante pas en cas de problème. Chaque fois que je traitais des erreurs, j’apprenais à les attendre dans le cadre du processus plutôt que de me sentir vaincu par elles. Je déconnectais les valeurs pour affiner les problèmes, surtout lorsque l'erreur semblait pointer vers un endroit inattendu. Par exemple, j’ai reçu une erreur de référence qui ne semblait pas liée à mes modifications, pour ensuite réaliser que j’avais manqué de mettre à jour une référence dans un autre fichier. J'ai découvert que la journalisation de la console changeait la donne dans le suivi des problèmes jusqu'à leur source.
L'un de mes défis les plus difficiles a été d'apprendre à lire la documentation de packages tels que Inquirer et Path. C'était comme si on me disait de trouver une créature mythique dans une forêt sans savoir à quoi elle ressemblait. Inquirer était gérable après quelques expérimentations, notamment en ce qui concerne les options de validation. Mais le cheminement était une autre histoire : au début, je ne savais pas comment l’aborder. J'ai fini par chercher plus de ressources d'introduction pour avoir une idée de ce que fait le chemin et pourquoi je voudrais l'utiliser.
Ce processus m'a appris qu'il est parfois acceptable de s'éloigner de la documentation officielle lorsque cela semble accablant. J'ai commencé à chercher des tutoriels et des exemples pour comprendre le but de chaque package avant de me replonger dans la documentation pour des fonctionnalités spécifiques.
Ce projet Pokémon CLI ressemblait à une complexité accrue par rapport à mon jeu de Blackjack, me poussant à progresser dans la gestion des erreurs, les fonctions asynchrones et la lecture de la documentation. J'ai également découvert ArrayBuffer et la gestion des données binaires, que j'utilisais pour stocker des images localement au lieu de simplement récupérer des URL. Bien que je ne comprenne pas entièrement tous les mécanismes d'ArrayBuffer, j'en comprends suffisamment pour l'utiliser efficacement dans ce projet.
Avec le recul, chaque projet s’appuie sur le précédent. Même s’il reste encore beaucoup à apprendre, il est encourageant de voir ces compétences évoluer. J'ai hâte d'aborder mon prochain projet avec encore plus de confiance (et peut-être avec quelques créatures moins mythiques à retrouver dans la documentation) !
Vous pouvez retrouver le projet sur mon github !
https://github.com/liamdewitt/pokemon-downloader-cli
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!