🔥

Тред (@aminopyridin)


Тредик о том, что не знает типичная аудитория мидлов-фронтендеров, которой я преподаю. Каждый приходящий в Контур разработчик проходит через 1,5 недели обучения. Фронтендеров мы учим реакту, редаксу, TS, асинхронному JS и всякому другому. Про такие группы и расскажу

Значение слова «реактивность» Когда я рассказываю про Реакт опытной аудитории, рано или поздно заходит разговор о том, что реакт он так назван, потому что реактивное программирование. — Кто знает, что такое реактивное программирование? Тишина...

— Хорошо, а давайте вспомним про реактивность из других отраслей. Ну, вот реактивное движение, например, это про что? — Ну, это когда быстро! — Это не обязательно, медузы тоже двигаются реактивно, но не очень-то быстро.

А вот в психологии говорят про проактивное и реактивное поведение. Это про что? — Ну, хорошие и плохие. Какие-то такие диалоги получаются в средней группе. Хотя иногда меня радуют ребята, говорящие «реактивное программирование — это эксель» и они правы =)

«Чистая функция» Тут фронтендеры радуют по сравнению с сишарперами — среднестатистический мидл-фронтендер слышал термин «чистая функция», а среднестатистический мидл-сишарпер — нет. Но если попросить объяснить, что это, то начинаются сложности.

Чистой функцией что только не называют: - функцию, возвращающую значение - функцию, которая легко читается — в соответствии с правилами «чистого кода» - функцию, которую можно протестировать еще и Реакт со своим PureComponent добавил путаницы

expressions and statements В объяснении Реакта для начинающих есть необходимость объяснить одну, простую для опытных реакт-разрабов, вещь — что можно и что нельзя писать в фигурных скобочках в JSX.

Когда я только начинала проводить обучение по Реакту, я говорила что-то вроде «в фигурных скобочках может стоять произвольный JS, который возвращает значение — ведь вам нужно результат подставить вместо скобочек».

В этих ситуациях буквально в следующей же задачке кто-нибудь писал в фигурных скобочках цикл for и спрашивал, почему не работает. Я напоминала, что только конструкции, возвращающие значение можно и человек дописывал return в тело цикла. И все еще не работало 🤷

Тогда я стала явно проговаривать, что циклы for, if, switch-case, объявление переменных нельзя писать в фигурных скобочках. Аудитория реагировала в духе «ну, кому придет в голову так делать?» и через две задачки так делали.

Тогда преподавательский долг сосредоточить внимание на частой ошибке. И один из удобных способов так делать — дать аудитории самой придумать ответ, что именно нельзя писать в фигурных скобочках.(Вопросы вообще вовлекают в материал, могу написать об этом отдельно)

Я начала с вопросов типа: — в фигурных скобках можно писать только конструкции, возвращающие значение. Давайте придумаем такие, которые нельзя в них записать. Ну, такие, которые значение не возвращают. — console.log и alert не возвращают ничего!

Тогда я подумала «да, к черту, буду спрашивать правильно, а не попроще». — в фигурных скобках можно размещать только тот код, который является expression, statement запрещены. Кто знает, что такое expression?

Так оказалось, что мидлы-фронтендеры обычно не знают, что такое expression и statement. Но после подробного разбора теории языков программирования мне говорят: — всего-то? Ну, и кому придет в голову писать if в таком месте?

Для полного катарсиса еще можно рассказать про if-expression в Kotlin. Вот такие три темы не знает средняя аудитория мидлов фронтендеров. Но удивительно, что если спросить их опросом в чатике, то все все знают =) Проверю аудиторию jsunderhood опросом в следующем посте