Переход с игры в блэкджек на интерфейс командной строки для загрузки данных Pokémon был полезным (и унизительным) путешествием! Вот чему я научился, где застрял и как каждый проект помог мне вырасти как разработчику.
Когда я работал над своей игрой в блэкджек, мне пришлось разобраться с потоком управления, условной логикой и управлением пользовательским вводом. Блэкджек был относительно автономным, но это давало мне уверенность в том, что я смогу управлять структурой проекта и устранять проблемы по мере их возникновения. Эти основы стали невероятно ценными в проекте Pokémon CLI, где речь шла не столько о правилах игры, сколько о получении и управлении внешними данными. Наличие этой основы помогло мне сосредоточиться на новых, более сложных областях, таких как асинхронные функции и обработка ошибок.
В интерфейсе командной строки Pokémon одним из самых больших достижений стало умение работать с асинхронными функциями и обработкой ошибок в реальных условиях. Упражнения были полезны, но использование async/await в этом проекте укрепило правила обработки запросов API, гарантируя, что моя программа не выйдет из строя, если что-то пойдет не так. Каждый раз, когда я справлялся с ошибками, я учился ожидать их как часть процесса, а не чувствовать себя побежденным из-за них. Я выписывал значения, чтобы сузить круг проблем, особенно когда казалось, что ошибка указывает на что-то неожиданное. Например, я получил ошибку ссылки, которая казалась не связанной с моими изменениями, только для того, чтобы понять, что я пропустил обновление ссылки в другом файле. Я обнаружил, что ведение журнала консоли изменило правила игры в отслеживании источников проблем.
Одной из моих самых сложных задач было научиться читать документацию для таких пакетов, как запросчик и путь. Было ощущение, будто мне сказали найти в лесу мифическое существо, не зная, как оно выглядит. После некоторых экспериментов с Inquirer можно было справиться, особенно когда дело касалось вариантов проверки. Но путь — это совсем другая история: поначалу я понятия не имел, как к нему подойти. В итоге я начал искать дополнительные вводные ресурсы, чтобы понять, что вообще делает путь и почему я хочу его использовать.
Этот процесс научил меня, что иногда можно отойти от официальной документации, когда она кажется утомительной. Я начал искать учебные пособия и примеры, чтобы понять назначение каждого пакета, прежде чем возвращаться к документации по конкретным функциям.
Этот проект Pokémon CLI показался мне более сложным по сравнению с моей игрой в блэкджек, подтолкнув меня к росту в обработке ошибок, асинхронных функциях и чтении документации. Я также узнал об ArrayBuffer и обработке двоичных данных, которые я использовал для локального хранения изображений, а не просто для получения URL-адресов. Хотя я не до конца понимаю всю механику ArrayBuffer, я понимаю достаточно, чтобы эффективно использовать его в этом проекте.
Оглядываясь назад, можно сказать, что каждый проект основывается на предыдущем. Хотя еще есть чему поучиться, отрадно видеть, как эти навыки развиваются. Я с нетерпением жду возможности приступить к своему следующему проекту с еще большей уверенностью (и, возможно, с меньшим количеством мифических существ, которые можно найти в документации)!
Вы можете найти проект на моем github!
https://github.com/liamdewitt/pokemon-downloader-cli
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3