Семинар. Применение функциональных инструментов

Семинар. Применение функциональных инструментов #

Формат проведения занятия #

Занятие будет проведено в формате семинара. На семинаре каждый слушатель курса должен представить свою работу. Другие слушатели курса должны обсудить с ним полученные результаты.

Задача #

Вам необходимо применить функциональные инструменты в рамках своего исходного кода. Необходимо применить функции высшего порядка для решения своих задач. Можно использовать следующие источники для получения функций высшего порядка:

  • Использовать функции стандартной библиотеки языка, позволяющей выполнять обработку данных.
  • Использовать функции внешних библиотек, реализующих функции общего назначения (например lodash для JavaScript).
  • Собственная реализация функций высшего порядка.

Необходимо показать не менее 5 применений функций высшего порядка в рамках вашей кодовой базе. Необходимо применить не менее трёх различных функций высшего порядка.

Необходимо оценить изменения в структуре кодовой базы путём анализа графа вызовов до применения функциональных инструментов и после.

На каждое изменение кодовой базы необходимо сформировать набор изменений в git-репозитории собственного проекта.

Требования к презентации #

Предлагаемое содержание презентации #

Презентация должна освещать все ключевые этапы решения задачи. Обязательно необходимо:

  • Сформировать граф вызовов изначально существующего кода.
  • Для каждого применения функций высшего порядка:
    • указать задачу, которую решает изначальный код;
    • указать причину выбора конкретного функционального инструмента для замены реализации;
    • провести сравнительный анализ кода до применения инструмента и после.
  • Сформировать граф вызовов для изменённого кода. На основании графа выполнить оценку: улучшило или ухудшило архитектуру применение функций высшего порядка.

Технические требования к презентации #

  • Примеры исходного кода должны добавляться текстом, а не изображением.
  • Диаграммы графа вызовов должны быть добавлены в формате векторной графики (svg), а не растровых изображений
  • В качестве ответа необходимо загрузить презентацию в общедоступных форматах: PDF, HTML и т.д. Не рекомендуется использовать «сырые» и форматы презентаций ppt, pptx, odp.

Проведение семинара #

  • Каждый студент представляет свою работу в течение 10 минут.
  • После представления работы есть до 5 минут для обсуждения.
  • Оценка за семинар включает в себя как качество доклада, так и качество вопросов.

© A. M. Васильев, 2024, CC BY-SA 4.0, andrey@crafted.su