Я подошел к концу второго этапа программы буткэмпа Flatiron School по разработке программного обеспечения.
Одна из вещей, с которой я боролся больше всего, — это говорить на языке программистов.
Если бы я был на собеседовании, как бы я объяснил собеседнику кусок кода?
Чтение учебной программы в голове и вслух звучит отлично, в конце концов, я читаю ее прямо из учебной программы. Однако, когда приходит время обсудить мой код с руководителем группы, другом или одногруппником, я доношу свою мысль, но не в терминологии программистов. Все получается не так, как при чтении учебной программы.
Однако это может произойти. С практикой моя терминология улучшилась.
Сегодня, когда я записывал видеопросмотр своего проекта, я начал со слов: «Привет всем, я собираюсь показать вам приложение, которое я сделал. Позвольте мне поделиться своим экраном и показать вам». Неплохо, но звучало бы лучше. Я записал еще раз.
Во второй раз я звучал чуть лучше.
На третий или четвертый раз я сказал: «Привет всем, меня зовут RJ. Добро пожаловать на мое видеопрохождение. Я собираюсь провести вас через одностраничное приложение, которое я создал с помощью React».
Вау! Намного лучше, и это продолжало улучшаться. К 7-й или 8-й попытке видеопрохождения я говорил что-то вроде: «Я использовал JSON-сервер для создания RESTful API для моего бэкенда и сделал GET- и POST-запросы к этому JSON-серверу с помощью управляемой формы». Я становился лучше с каждым разом, когда записывал новое видеопрохождение.
Способность провести пользователей через приложение с помощью видео будет очень полезна, когда придет время начать подавать заявки на работу.
Я встретился со своим руководителем группы и спросил, можем ли мы обсудить правильную терминологию при просмотре моего кода строка за строкой.
Я показал ей следующий фрагмент кода, который делает GET-запрос к RESTful API с помощью крючка useEffect:
useEffect(() => {
fetch('http://localhost:3000/houses')
.then((res) => res.json())
.then((data) => {
setHouses(data);
});
}, []);
Сначала я сказал, что «useEffect можно использовать для выполнения GET-запросов к API с помощью fetch-запроса». Хотя это правда, всегда хочется начать с объяснения того, что такое useEffect. Затем я сказал: «Подобно тому, как основной эффект компонента React заключается в возврате JSX, бывают случаи, когда мы хотим выполнить определенные задачи, например, получить данные из API при загрузке компонента или запустить или остановить таймер. Хук useEffect помогает нам обрабатывать эти виды побочных эффектов в наших компонентах». Отлично. Это правда, и это звучит лучше.
Теперь перейдем к запросу на выборку. Мой способ объяснения запроса fetch изначально звучал так: «Вторая строка получает данные из API с помощью запроса fetch». Это не совсем неверно, но есть лучший способ сказать это: «выполняется обратный вызов useEffect, а fetch инициирует сетевой запрос к API».
Чтобы говорить как программист, вы должны быть очень техничны в том, что происходит в вашем коде. Вы действительно хотите знать, что означает каждое отдельное «слово» в вашем коде, потому что если вы не используете правильную терминологию, то можно предположить, что вы не знаете, как все происходит в вашей программе.
Иногда кодирование может быть проще, чем объяснение того, что делает мой код, но по мере того, как я продвигаюсь по буткемпу и записываю себя, проходя приложение несколько раз, я могу сказать, что становлюсь все лучше и лучше.