Проект программы
Проект
Генератор форм (Ruby)
Библиотека, с помощью которой удобно создавать формы в шаблонах сайтов. Позволяет сократить код описания формы во много раз за счет автоматической обработки ошибок и различных контролов.
2-4
недели
Цель
Настройка окружения
Первый проект прокачивает работу с экосистемой Ruby. Студенты учатся запускать любые программы, написанные на Ruby. Знакомятся с интерпретатором языка и его возможностями по быстрой отладке и проверке работы небольших кусков кода. Знакомятся с bundler. Утилитой, через которую происходит управление проектами: установка и обновление дополнительных библиотек, публикация пакета и многое другое.
Здесь же идет формирование правильной инженерной культуры. Одно из первых заданий в настройке — это подключение линтера (Rubocop), который автоматически следит за стилем кода и находит потенциальные ошибки. Код, соответствующий стандартам кодирования, гораздо проще в анализе и значительно выше оценивается другими программистами. Это, в том числе, важно при демонстрации проектов на собеседованиях.
Автоматизированные тесты – неотъемлемая часть профессиональной разработки. Генератор форм — удобный и простой проект для написания тестов до кода. Практикуя TDD мы можем тестировать наше приложение до его написания. Тесты помогут эффективно писать, отлаживать и рефакторить код.
Архитектура
В ходе разработки понадобится выполнять множество операций: парсинг входящих данных, построение формы, формирование необходимого вывода. Все это требует хорошей организации кода. Модульность и абстракции выходят в этом проекте на новый уровень.
Разделение внутренней архитектуры формы и представления позволяет подключать новые шаблонизаторы.
Описание
Генератор Форм — библиотека, с помощью которой удобно создавать формы в шаблонах сайтов. Это популярная задача, для решения которой существует множество библиотек, например, библиотека, встроенная в Rails или популярный gem SimpleForm.
Пример использования:
Вопросы и Ответы
Проекты входят в стоимость обучения на любом плане: самостоятельном, групповом и индивидуальном. Дополнительно платить не нужно.