Skip to content

Правила разработки

Menshikov Alexander edited this page Mar 21, 2016 · 3 revisions

С чего начать выполнение задачи?

  1. В первую очередь необходимо убедиться, что на локальной машине находится последняя версия мастера. Чтобы обновить её, если у вас в ней нет изменений можно ввести в консоли git pull, либо сделать аналогичную команду в клиенте гита.
  2. Далее необходимо создать локально новую ветку, в консоле это можно сделать с помощью команды git checkout -b название ветки.
  3. Если у вас есть задача на гитхабе, то её номер должен быть включён в название ветки и в каждый коммит. К примеру, сейчас у меня есть задача https://github.com/neSpecc/codex/issues/13 у неё на странице написано, что её номер 13, значит ветку я назову comment-tree-#13, а коммит к задаче у меня будет выглядеть, например, так: #13 создание дерева комментариев вынесено в модель и алгоритм построения упрощён.. Это нужно для того, чтобы все изменения были видны в задаче.
  4. Создавать ветку на гитхабе не нужно, она будет создана автоматически во время загрузки первого коммита на сервер. Нужно обязательно перенести присвоить задачу в трекере задач себе и перенести её в выполняемые.

Процесс выполнения задачи.

  • После любого осмысленного изменения стоит делать коммит (сохранять состаяние ветки). До этого состояния можно будет откатить в любой момент, не забывайте про это, если закопаетесь в задаче и что-то перестанет работать.
  • Коммит, сделанный локально не попадает автоматически на сервер, поэтому необходимо загрузить его на сервер, для этого необходимо сделать комманду в консоли git push origin название ветки (если у вас удалённый сервер гитхаба назван по-умолчанию) или аналогичную команду в клиенте гита.
  • Если возникнут вопросы по коду, лучше всего присылать ссылку на строку в гите. Для этого нужно загрузить последнии изменения на сервер, перейти в гитхабе на свою ветку и найти интересующий файл. Тогда можно будет прислать такую ссылку https://github.com/neSpecc/codex/blob/master/application/classes/Model/Methods.php#L19, это удобнее, чем разбираться в скриншотах =)
  • Лучше не закапываться в задачу, попросите помощи и подумайте, может можно что-то сделать проще или что-то вообще делать не стоит.

Завершение задачи.

  • Задача окончена не в тот момент, когда вы дописали код, доверстали или создали дизайн. Задача окончена тогда, когда всё работает на боевом сервере (ну или хотя бы на тестовом), когда задачу приняла команда (задача прошла Review) и задача протестирована.
  • Задача может попасть на сервер только из ветки мастер.
  • Для того, чтобы код попал в ветку мастер необходимо делать пул реквест из своей ветки и проходить ревью. Для того, чтобы разобраться с пулл реквестом пишите @eliseealex.
  • Перед мержом пул реквеста необходимо обязательно пройти ревью. Ревью — это просмотр и комментирование кода другими участниками команды. Для того, чтобы принять пул реквест, нужно одобрение как минимум двух человек, желательно выбирать всегда разных людей, чтобы как можно больше людей знали, что происходит в проекте. Ревью нужно для того, чтобы отловить явные ошибки и недочёты, как в коде, так и в концепции, чтобы как можно больше людей знали, что делают другие и просто для того, чтобы обмениваться опытом. Желательно ставить Александра Менщикова или Александра Елисеева в каждое ревью.