
Sergey
26.01.2018
19:04:52
следующий этап - это автоматизация таких вещей как тесты, статический анализ кода

Dinar
26.01.2018
19:04:53

Sergey
26.01.2018
19:05:14

Alexander
26.01.2018
19:05:15
Это как?

Google

Dinar
26.01.2018
19:05:38
Ты лучше скажи, что делать конкретно в этом случае

Sergey
26.01.2018
19:06:14
http://continuousdelivery.com/wp-content/uploads/2011/05/branch_by_abstraction.png
как-то так)
я года 2 назад тоже думал что некоторые задачи нельзя разделить и "это неделя и не трогай"... но...

Dinar
26.01.2018
19:06:49
Очень малообъясняющая картинка :)

Sergey
26.01.2018
19:06:52
все всегда можно разделить, и это даже не сложно
не хочешь - не читай)

Dinar
26.01.2018
19:07:10
Так ты мне картинку скинул :)

Sergey
26.01.2018
19:07:46
ну а ты подумай. Вот решил ты фреймворк заменить или ORM.
работы явно больше чем на пару дней
а теперь посмотри на картинку и прикинь план

Google

Dinar
26.01.2018
19:08:32
Но смотри. Ты предлагаешь избавиться от надуманной семантической проблемы и реальной проблемы конфликтов. Но при этом добавить себе проблем в рефакторинге, какой-то абстракции и еще и контроль за собой усилить. Разрабы - ленивые люди. И для этого и стали разрабами, чтобы многие вещи автоматизировать.

Sergey
26.01.2018
19:08:54
никаких проблем в рефакторинге - наборот удобнее
> Разрабы - ленивые люди.
настолько что не могут загуглить и почитать, зачем, проще сразу делать выводы

Dinar
26.01.2018
19:09:53
Вот смотри. Я решил разбить сервис, который очень большой и явно делает больше чем ему надо на нормальные куски, при этом перелопатить все зависимости, и их тоже немного придется нарефакторить. Потому что они не соответствуют тому, что нужно. И все это как паук используется по всей системе.
Вот как ты это будешь делить?

Sergey
26.01.2018
19:10:52
сделаю абстракцию которая будет скрывать старую штуку, постепенно переведу зависимости на эту абстракцию, реализую новую штуку, переключу абстракцию на новую штуку

Dinar
26.01.2018
19:11:03
Ты же вот даже ленишься рассказать об этом. Шлешь читать. И говоришь что не ленивые :)

Alexander
26.01.2018
19:11:36
Вот как ты это будешь делить?
По 1 зависимости менять или ты хочешь весь проект за 1 раз зарефакторить? Он у тебя на ревью на неделю или больше зависнет))

Sergey
26.01.2018
19:11:38

Dinar
26.01.2018
19:11:45
Иногда деланье тольк одной абстракции может быть похлеще всего рефакторинга
А в дерьмовом проекте, который требуется рефакторить - это так не работает

Sergey
26.01.2018
19:12:29

Alexander
26.01.2018
19:12:29
Ну ну

Sergey
26.01.2018
19:12:47
только они дальше пошли - пофиксил - git push -> деплой сразу на прод

Dinar
26.01.2018
19:13:21

Sergey
26.01.2018
19:13:31
если сломалось - алертика быстро скажет что говно - откатываем билд. А так как ты сломал изменениями котоыре залил 10 минут назад - то ты точно знаешь что сломал

Google

Dinar
26.01.2018
19:14:24
Очень эффективен.

Alexander
26.01.2018
19:14:55

Sergey
26.01.2018
19:14:55
что бы говоритиь об эффективности нужны какие-либо метрики и в сравнении с парой тройкой других проектов и команд

Dinar
26.01.2018
19:15:11
А если частенько обновляться с мастера - так вообще конфликтов практически не бывает. У нас в среднем на 10 разрабов в месяц - 1 случай конфликта.

Sergey
26.01.2018
19:15:44

Dinar
26.01.2018
19:15:48

Alan
26.01.2018
19:15:48
а без конфликтов но чтоб сломалось бывает?)

Sergey
26.01.2018
19:15:52
10? 50?

Dinar
26.01.2018
19:16:11

Sergey
26.01.2018
19:17:00

Sergey
26.01.2018
19:17:11
для код ревью? сколько у тебя в среднем живет один PR?
1-2 дня? неделю?
если в большинстве случаев - день - то более менее. В этом случае trunk-based тебе просто ускорит процесс за счет устранения лишних звеньев

Dinar
26.01.2018
19:18:00
Примерно 100 мерджей в месяц

Sergey
26.01.2018
19:18:05
10 человек?

Dinar
26.01.2018
19:18:17
Сейчас вообще 6

Sergey
26.01.2018
19:18:43
то есть примерно 17 PR с человека в месяц.
срок жизни PR?

Google

Dinar
26.01.2018
19:19:02

Sergey
26.01.2018
19:19:03
из цифр - 1-2 дня, но в реальности?

Dinar
26.01.2018
19:19:28
Поэтому бывает иногда ПР может и неделю висеть. А вообюще зависит от сложности задания. QA тоже возвращает если баги какие-то

Sergey
26.01.2018
19:19:59

Dinar
26.01.2018
19:20:06
Отправил на ревью, переключил ветку и работаешь над другой таской.

Sergey
26.01.2018
19:20:24
я что-то сомневаюсь про 1 конфликт в месяц. Может быть 1 у каждого хотя бы?)

Dinar
26.01.2018
19:20:33
Нет.

Admin
ERROR: S client not available

Dinar
26.01.2018
19:20:48
Если регулярно тянуть с мастера, то конфликты оооочень маленькие.
Типа в 1 файле 1 строчка.

Alan
26.01.2018
19:21:23
так пр неделю висят а мастер меняется
потом в этих повисших появляются конфликты

Dinar
26.01.2018
19:21:58
Проблемы бывают, только когда работают над одним и тем же.
Вот я не вру. Очень мало конфликтов. Либо они настолько простые, что не стоят того, чтобы Транкфлоу заводить

Sergey
26.01.2018
19:23:38
я про конфликты когда ты мастер к себе вливаешь

Dinar
26.01.2018
19:23:52
Нет.

Google

Dinar
26.01.2018
19:24:04
Хорошо. Если их в 2 раза больше
2 раза в месяц
Это что-то меняет?

Sergey
26.01.2018
19:25:01
Это что-то меняет?
да, это значит что елси ты увеличил количество в 2 раза то там может и не один и не два конфликта в месяц а больше
а ты просто не обращаешь внимания из-за волшебного auto-merge

Dinar
26.01.2018
19:25:32
Хорошо. Давай предположим, что у меня 1 конфликт в день.

Sergey
26.01.2018
19:25:35
или у вас настолько грамотно планирование работы происходлит что конфликты не возникают

Dinar
26.01.2018
19:25:53
И чем же плох волшебный автомердж?

Sergey
26.01.2018
19:25:56
или никто ничего толком и не меняет - только добавляет новое (абсолютный open/close)

Dinar
26.01.2018
19:26:01
Если тестами покрыто.
Юнит тестами, ненавистными интеграционными и фича тестами

Sergey
26.01.2018
19:26:21

Dinar
26.01.2018
19:26:45
Почле вливания в мастер за 2 года работы - 0!
На стадии ПР - очень часто.
Но при мердже в мастер - 0
После мерджа, точнее

Sergey
26.01.2018
19:27:27
ну то есть в процессе работы над PR

Dinar
26.01.2018
19:27:35
А в мою ветнку?

Sergey
26.01.2018
19:27:45
вот у тебя были зеленые тесты в твоей ветке, ты влил мастер и они стали красными

Dinar
26.01.2018
19:27:55
Типа, у меня все работает. Я ничего не трогаю, тяну мастер и прогоняю тесты, так?

Sergey
26.01.2018
19:28:02
да
и еще пара вопросов
- каков средний объем изменений (количество файлов или количество инсертов/делитов на PR)
- что пилите? CRM? вэбсайт?