Skip to content

Instantly share code, notes, and snippets.

@psylone
Last active March 15, 2017 13:10
Show Gist options
  • Save psylone/0f503dd4a5398ee51dcac07fdc457a6e to your computer and use it in GitHub Desktop.
Save psylone/0f503dd4a5398ee51dcac07fdc457a6e to your computer and use it in GitHub Desktop.

Выпускной проект

Итак друзья, путь который мы проделали поистине велик! Настал момент применить всё чему мы научились в сражении с финальным испытанием. Его суть заключается в самостоятельном планировании, проектировании и разработке выпускного проекта. Далее следуют более подробные инструкции и рекомендации.

Идея

Идея проекта может быть абсолютно любой. Лучше всего, если есть уже что-то такое о чём вы думаете и что хотите реализовать. Например, автоматизировать один из элементов вашей жизнедеятельности, написать приложение для домашней библиотеки или музыкальной коллекции. В том случае если ничего подходящего не нашлось наставник поможет вам сориентироваться и выбрать одну из существующих идей.

Проектирование

Перед тем как непосредственно приступить к разработке проекта необходимо провести его проектирование. Данный этап предполагает анализ предметной области, написание пользовательских историй и распределение их по итерациям (например, создание milestone на GitHub). Таким образом, перед началом написания кода проекта необходимо:

  • Проанализировать предметную область. Кратко описать суть проекта на главной странице в GitHub Wiki

  • Выделить сущности предметной области. Создать диаграмму в GitHub Wiki, включающую эти сущности и связи между ними. Тип диаграммы может быть любым (подойдут прямоугольники с сущностями и связи в виде линий между ними). Также хорошо подойдёт ER (Entity-Relationship) диаграмма

  • Написать пользовательские истории и распределить их по итерациям. Каждая итерация должна быть рассчитана на одну неделю. В качестве итерации, например, может выступать milestone на GitHub. В этом случае milestone будет содержать issues с пользовательскими историями

Разработка и проверка наставником

После выполнения этапа проектирования необходимо утвердить проект с наставником. Далее разработка каждой итерации ведётся в собственной ветке. После закрытия всех issue итерации создаётся pull request который проверяется наставником.

Критерии выполнения проекта и рекомендации

Проект считается завершённым, если успешно выполнено 3 или более итераций. При этом необходимо соблюдать целостность проекта при распределении пользовательских историй между итерациями. Например, проект не будет обладать целостностью если основной функционал слабо развит или отсутствует вовсе. Иными словами, приложение должно выполнять задачи которые вы описали на главной странице в GitHub Wiki на этапе проектирования проекта.

Рекомендуется дробить каждую пользовательскую историю на несколько issue и связывать их с issue пользовательской истории. GitHub позволяет сделать это если в описании новой задачи (issue) указать номер задачи (issue) пользовательской истории начиная с символа #.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment