Лабораторная № 2
Результат работы - архив с исходными кодами приложения, который прикрепляется как решение задачи.
Важно. Если у проверяющего возникнет обоснованное предположение о совместном решении, тогда все участники получат неудовлетворительную оценку.
Проверяемые знания учащихся
- Уровень знакомства с языком Ruby:
- Запуск приложения.
- Описание переменных и методов, их использование.
- Работа с контейнерами, итераторами, нумераторами.
- Описание собственных классов.
- Наследование классов.
- Использование модулей и примесей.
- Знание деталей работы стандартных классов: чисел, строк.
- Знание деталей вызова методов и указания их аргументов.
- Использование методов чисел и промежутков.
- Использование методов классов строк и регулярных выражений.
- Уровень знакомства с экосистемой языка Ruby:
- Установка, удаление зависимостей с помощью
gem. - Управление зависимостями с помощью Bundler.
- Проверка качества исходного кода с помощью Rubocop.
- Написание модульных тестов с помощью инструментов RSpec.
- Установка, удаление зависимостей с помощью
Требования к выполнению задания
- Приложение должно реализовать все требования, указанные в задании. Однако к защите допускаются приложения, реализующие только часть задач.
- К защите не допускается исходный код, который не запускается.
- Исходный код приложения должен быть проверен с помощью приложения Rubocop с настройками по-умолчанию или с конфигурацией, предложенной на соответствующем занятии. Для каждого нарушения, которое находит Rubocop, должно быть объяснение почему оно не было исправлено. Допускаются аргументы с точки зрения архитектуры приложения, другого рода аргументы не принимаются.
- Все зависимости приложения должны управляться с помощью Bundler, установка зависимостей с помощью
gemзапрещена. Исключением является джемbundler. - Для разрабатываемого приложения должны быть создан отдельный каталог.
- В корне каталога должны располагаться конфигурационные файлы:
Gemfile,Gemfile.lock. - В корне каталога приложения должны находится каталоги
bin,lib, в которых должен находиться исходный код приложения. В каталогеbinнаходится исполняемый файл, в каталогеlibнаходится описание всех собственных классов и модулей. - В корне каталога приложения должен находиться каталог
spec, в котором должны находиться модульные тесты для классов, описывающих предметную логику.
- В корне каталога должны располагаться конфигурационные файлы:
- Весь код приложения должен быть разбит на модули и классы, запрещается использовать файлы с простым набором методов, которые не пренадлежат какому-либо модулю.
- Необходимо выделить отдельные классы, описывающие предметную область.
- В одном модуле нельзя совмещать логику обработки предметной области и операции ввода-вывода.
- Приложение должно корректно обрабатывать неправильный ввод от пользователя.
- Приложение должно обладать понятным интерфейсом: показывать помощь по использованию, для ввода данных приложение должно показывать приглашение.
- Необходимо предоставлять пользователю
Задача лабораторной №2
Реализуйте консольное приложение, решающее задачу из задачника.
Если в задаче явно не указано требование по выводу списков данных, которыми управляет приложение, то такие действия необходимо добавить в приложение. То есть если у вас приложение управляет списком товаров, то среди действий приложения должно быть действие «вывести список товаров».
| Студент | Номер задачи |
|---|---|
| Воронин Иван Алексеевич | № 13 |
| Галицкая Анастасия Алексеевна | № 8 |
| Геннеке Даниил Викторович | № 10 |
| Гузанов Даниил Александрович | № 20 |
| Дамарацкий Станислав Андреевич | № 6 |
| Завьялов Олег Валерьевич | № 2 |
| Зафиевский Даниил Дмитриевич | № 4 |
| Ковзель Леонид Олегович | № 9 |
| Кузьмин Дмитрий Владимирович | № 8 |
| Курочкин Антон Александрович | № 9 |
| Мазаев Роман Владимирович | № 5 |
| Пашментов Денис Игоревич | № 1 |
| Петрова Анастасия Сергеевна | № 16 |
| Селиванчиков Дмитрий Александрович | № 3 |
| Соколов Виталий Сергеевич | № 3 |
| Соколов Илья Игоревич | № 10 |
| Шаршакова Наталья Александровна | № 4 |
| Швецов Илья Александрович | № 11 |
| Шевченко Олег Олегович | № 7 |
| Студент | Номер задачи |
|---|---|
| Александров Михаил Александрович | № 5 |
| Арабов Александр Игоревич | № 2 |
| Балашов Александр Русланович | № 11 |
| Басов Савелий Дмитриевич | № 9 |
| Безденежный Серафим Олегович | № 15 |
| Борисова Анастасия Дмитриевна | № 16 |
| Вихарев Никита Алексеевич | № 11 |
| Головкина Елена Вячеславовна | № 4 |
| Ерохин Илья Алексеевич | № 15 |
| Зенин Андрей Сергеевич | № 12 |
| Кругликов Алексей Михайлович | № 13 |
| Малашенко Дмитрий Алексеевич | № 16 |
| Мамаев Роман Юрьевич | № 3 |
| Павлюк Матвей Денисович | № 5 |
| Паклин Даниил Владимирович | № 7 |
| Самолетов Илья Николаевич | № 1 |
| Сквозняков Сергей Владимирович | № 12 |
| Тонков Даниил Валерьевич | № 12 |
| Тягнибедин Максим Евгеньевич | № 17 |
| Якушева Полина Николаевна | № 17 |
| Студент | Номер задачи |
|---|---|
| Бегунова Мария Евгеньевна | № 14 |
| Болотов Андрей Владимирович | № 17 |
| Большакова Ирина Александровна | № 15 |
| Буракин Евгений Дмитриевич | № 19 |
| Бытев Егор Ильич | № 18 |
| Вахмянин Даниил Растиславович | № 3 |
| Веревкина Анна Александровна | № 6 |
| Виноградов Александр Сергеевич | № 2 |
| Воробьев Ярослав Михайлович | № 19 |
| Гаврилов Сергей Алексеевич | № 18 |
| Гамзин Роман Алексеевич | № 17 |
| Демидов Егор Денисович | № 4 |
| Ермолаева Анастасия Михайловна | № 6 |
| Ермолин Павел Анатольевич | № 8 |
| Ивлева Елизавета Сергеевна | № 1 |
| Игнатенков Илья Сергеевич | № 14 |
| Калачихин Евгений Васильевич | № 14 |
| Колесников Семен Борисович | № 14 |
| Кондаков Максим Дмитриевич | № 13 |
| Краюшкина Анна Евгеньевна | № 19 |
| Кузнецов Данила Вячеславович | № 10 |
| Кузьмин Иван Дмитриевич | № 16 |
| Лимаренко Дмитрий Константинович | № 20 |
| Мамонтова Александра Викторовна | № 10 |
| Мещеряков Иван Андреевич | № 7 |
| Михиенков Алексей Юрьевич | № 6 |
| Пеганов Вячеслав Викторович | № 18 |
| Смирнов Никита Александрович | № 13 |
| Уханова Яна Владимировна | № 20 |
| Хохлышева Оксана Сергеевна | № 20 |
| Ширшов Георгий Вадимович | № 7 |