Вчера, 22 октября 2015 года, начался второй курс по архитектуре современных JavaScript приложений в SmartJS академии. Его ведет, как и другие курсы, Илья Климов. Я буду вести свой отчет и впечатления об этом курсе, и публиковать выжимку полученной информации в виде статей.
В начале вводной лекции он рассказал о регламенте и времени занятий. Илья проведет 18 занятий по 2 часа и 3 занятия по 6 часов. Длительность курса — 15 недель. Стоимость для оффлайн участия в Харькове — 200$ в месяц, для онлайн — 150$.
Потом он рассуждал о фреймворках и библиотеках, где я запомнил интересное определение фреймворка и библиотеки:
Как отличить фреймворк от библиотеки?
Библиотеку используешь ты, а фреймворк тебя.
И о коментариях:
Комментарии в коде — плохо. Если код нужно комментировать, то с ним что-то не так.
Но он дополнил это правило исключениями, которые касаются алгоритмов, ссылок на библиотеку и т.д.
Дальше были общие рассуждения о архитектуре…
Итак, что такое хорошая архитектура?
- направлена на снижение стоимости поддержки
- сложный компромисс между спагетти-кодом и пахлава-кодом (KISS, YAGNI, Memory Footprint)
- управляемый технический долг
- тестируемость + воспроизводимость результатов
- предсказуемость
«KISS» (англ. Keep It Simple Stupid) — «делай это проще, тупица».
«YAGNI» (англ. You Ain’t Gonna Need It) — «Вам это не понадобится».
«Memory Footprint» — список того, что вам нужно держать в голове во время написания нового кода.
«Технический долг» — это говно плохой код, о котором вы знаете.
Под тестируемостью подразумевается слабая связанность и что есть возможность без труда протестировать модуль.
Из стека технологий на курсе будет использоваться webpack и babel (вместе с синтаксисом ES6-7), а для рендеринга — React.
Почитать подробнее о SmartJS в группе вконтакте. В ней же вы найдете план занятий для этого курса.
UPD от 24.05.2016
Курс по архитектуре отменен спустя месяц. Домашние задания не проверялись, части занятий не было. Деньги возвращены недовольным.