Бакалавриат
2022/2023
Научно-исследовательский семинар "Принципы и методы обеспечения качества исходного кода"
Статус:
Курс по выбору (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Когда читается:
4-й курс, 1-3 модуль
Формат изучения:
без онлайн-курса
Охват аудитории:
для своего кампуса
Преподаватели:
Бугаенко Егор Георгиевич
Язык:
русский
Кредиты:
3
Контактные часы:
44
Программа дисциплины
Аннотация
Большинство проектов уничтожает хаос, который программисты не могут контролировать. Большинство из нас, программистов, запускают проекты из лучших побуждений и большого энтузиазма. Мы уверены, что на этот раз дизайн будет качественным, код будет чистым, и наши клиенты будут счастливы, потому что не будет никаких проблем. Однако, рано или поздно, реальность оказывается такой же плохой, как она была в
предыдущем проекте: код грязный, дизайн напоминает спагетти, и баги
непредсказуемы и трудно исправимы. Мы извлекаем уроки, отказываемся от текущего проекта и начинаем новый, опять же с наилучшими намерениями. Но в новом проекте снова ничего не меняется. Большинство программистов работают в этом цикле десятилетиями. Я верю, что этот курс может
помочь студентам не стать такими программистами, а научиться быть высококлассными профессионалами своего дела.
Цель освоения дисциплины
- Посредством практического примера понять, как контролировать качество программного обеспечения в проекте.
Планируемые результаты обучения
- ● Повышение качества кода
- ● Получение новых практических знаний о методах улучшения качества программирования
- ● Усвоение практических навыков контролирования качества программного обеспечения в проекте
Содержание учебной дисциплины
- PMD правила на yegor256/qulice
- Управление зависимостями Maven на yegor256/takes
- Рецензирование кода на objectionary/eo
- Построение автоматизации с Gradle на objectionary/eo-intellij-plugin
- Поддельные объекты на GitHub и AWS S3 на jcabi/jcabi-github и jcabi/jcabi-s3
- Параметризированное тестирование с помощью YAML на objectionary/eo
- Тестирование учетных данных на yegor256/0pdd
- Создание и тестирование нового действия GitHub на yegor256/latexmk-action
- Hits-of-code и другие метрики на yegor256/cobench и yegor256/hoc
- Документирование README.md Java библиотеки на yegor256/takes
- BDD с Cucumber на cqfn/pdd
Элементы контроля
- Курсовая работа
- Посещаемость
- Лабораторные работыНа семинарских занятиях каждая группа должна будет выполнить три лабораторные работы и защитить их устно на семинаре.
Промежуточная аттестация
- 2022/2023 учебный год 3 модульКурсовая работа (max 5 баллов) + 3 Лабораторные работы (max 3 балла) + Посещаемость (max 2 балла) = Max 10 баллов.
Список литературы
Рекомендуемая основная литература
- Brooks, F. P. (1995). The Mythical Man-Month : Essays on Software Engineering, Anniversary Edition (Vol. Anniversary ed). Reading, Mass: Addison-Wesley Professional. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1545773
- Robert C. Martin. (2017). Clean Architecture : A Craftsman’s Guide to Software Structure and Design. Prentice Hall.
Рекомендуемая дополнительная литература
- Humble, J., & Farley, D. (2011). Continuous Delivery : Reliable Software Releases Through Build, Test, and Deployment Automation. Upper Saddle River, NJ: Addison-Wesley Professional. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1599336
- Martin, R. C., & Feathers, M. C. (2009). Clean Code : A Handbook of Agile Software Craftsmanship. Upper Saddle River, N.J.: Prentice Hall. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1598779