1
Go# Conferences – Team Leaders Day
Глушенков Виктор
Взаимное влияние SCM и других
средств организации разработки
@artplastika
2Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Разработчики
любят самостоятельную работу
не любят отчитываться
любят чёткую постановку задачи
концентрируются на коде
предпочитают технические решения
воспринимают каждый инструмент индивидуально
3Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Каждому инструменту своё
Архитектура
Управление
проектом
Среда
разработки
Continuous
IntegrationSCM
Выпуск
релизов
4Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Хороший коммит
решает одну задачу
содержит ссылку на задачу
содержит описание (комментарий)
не ломает систему (в общем случае)
и т.д.
5Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Испытывали ли вы ступор?
6Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Что пишут в сообщение коммита?
Ничего
Что придёт в голову
Что было реализовано
Номер задачи (тикета)
Номер задачи и название
Подробное описание (Торвальдс)
7Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Бессодержательные сообщения
8Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Непонятные с ходу сообщения
9Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
№ задачи + название = сообщение
Управление задачами:
декомпозиция
самодокументирование
системы
более цельное восприятие
компонентов системы
глубже понимание сути
задачи
возможность
автоматического
связывания задачи и
коммита
Управление кодом:
нет «царь-коммитов»
нет рутины для
разработчика при
комментировании коммита
понятная история
изменений в репозитории
10Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Об интеграции со средой разработки
Исходный код проекта для среды разработки — это не
весь исходный код системы
При фиксации изменений легко забыть то, что за
рамками программного кода (скрипты, документы и т.д.)
Конфликты при слиянии могут сделать проект
некорректным для среды разработки, править всё равно
придётся в другом редакторе
В общем, коммит из среды — не лучшая идея
11Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Политики создания веток
под функционал (фичу)
под компоненты системы
по версиям продукта
на каждого разработчика
для разделения разработки и выпуска релизов
и другие, а также их комбинации
12Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Взаимное влияние инструментов
Архитектура
Управление
проектом
Среда
разработки
Continuous
IntegrationSCM
Выпуск
релизов
ветки,
коммиты
модульность
ветки, коммиты
декомпозиция,
документация
модульность
ветки, коммиты
срезыкоммиты история
изменений
13Go
# C
on
fere
nce
s –
Te
am
Le
ad
ers
Day
Всем спасибо!
Обсуждение можно продолжить:
в блоге компании: ts-soft.ru/blog/scm-influence
на моём сайте: artplastika.ru
в переписке: [email protected]