Использование GitHub в обучении. Примеры. Часть III

в 16:03, , рубрики: edu, education, Git, github, J, обучение программированию, управление проектами, управление проектами и командой, Учебный процесс в IT

Продолжу выкладывание примеров использования GitHub'а как инструмента обучения.

Предыдущий пример

Вариант командной работы с несколькими репозиториями

Расскажу про "самый приближённый" к реалиям вариант, когда в рамках реализации одной программы возникают подпроекты и над ними трудятся разные команды в разных репозиториях.

Примерный порядок действия

Часть действий повторяются из предыдущего примера

  • Создаёте аккаунт организации

Использование GitHub в обучении. Примеры. Часть III - 1
  • Добавляете в него студентов.

Использование GitHub в обучении. Примеры. Часть III - 2
  • Создаёте репозиторий. В README.md добавляете текст задания. Также наполняете репозиторий предварительно необходимым минимумом (нужными файлами для выполнения задания). Создаёте необходимые ветви. Обычно создаю ветвь dev или develop

Использование GitHub в обучении. Примеры. Часть III - 3
  • Студенты получив задания, клонируют репозиторий себе на локальные машины.

Использование GitHub в обучении. Примеры. Часть III - 4
Использование GitHub в обучении. Примеры. Часть III - 5
  • По мере обсуждения решения выявляются подпроекты. Создаются команды под каждый подпроект. Для каждого подпроекта создаётся свой репозиторий с предварительным наполнением.

Использование GitHub в обучении. Примеры. Часть III - 6
Использование GitHub в обучении. Примеры. Часть III - 7
  • Команды выполняют задания, коммитят, пушат. Задания можно выдавать как через issues, так и какой-нибудь сервис с Kanban или Scrum

Использование GitHub в обучении. Примеры. Часть III - 8
  • Создают запрос на слияние

Использование GitHub в обучении. Примеры. Часть III - 9
  • Проверяете. Оставляете комментарии либо ко всему заданию целиком, либо к его отдельным частям.

Использование GitHub в обучении. Примеры. Часть III - 10
Использование GitHub в обучении. Примеры. Часть III - 11
  • Создаются релизы. Готовые DLL или ещё что берётся из релизов и подключается в основной проект.

Использование GitHub в обучении. Примеры. Часть III - 12
  • В каждой команде ведётся техдокументация.

Использование GitHub в обучении. Примеры. Часть III - 13

Плюсы и минусы

Плюсы:

  • Более приближенный к реальности вариант моделирования

  • Можно назначать студентов в качестве ревьюеров кода. Даже преподавательского. Я люблю делать в коде специально ошибки как явные, так и неявные, чтобы студенты их находили и исправляли.

  • Каждая команда работает над своим подпроектом

  • Студенты пробуют межкомандное взаимодействие при разработке одного большого проекта.

Минусы:

  • Нужно создавать отдельный аккаунт для организации

  • Нужно объяснить как работать с ветками и следить, чтобы пушили в нужную ветку.

  • Нужно объяснять что такое релиз, как происходит версионирование.

  • Нужно объяснять как пишется и для чего нужна техдокументация.

Какие можно внести дополнения: 

  • связать репозиторий с Kanban- или Scrum-сервисом, чтобы выдача заданий фиксировалась в карточках на досках

  • создавать не отдельные репозитории для каждого подпроекта, а использовать git submodules

Автор: Андрей Старинин

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js