• A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Бакалавриат 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