
Sergey
14.01.2018
22:19:02
зачем интегрироваться часто?

Aleh
14.01.2018
22:19:19
зачем лайфцикл PR сокращать до одного дня или меньше?
один PR = одна ветка?

Google

Aleh
14.01.2018
22:19:39
если PR висел полдня, но ветку делали пару дней?

Sergey
14.01.2018
22:19:56
полностью от момента создания брэнча до вливания его в мастер менее суток
ну может 2 дня... но это типа беспредел уже

Aleh
14.01.2018
22:20:23
ага, а зачем?

Sergey
14.01.2018
22:20:30
что бы интегрироваться постоянно)
оставим пока вопрос "зачем" на четверг ;)
но если коротко - уменьшение рисков так как частая интеграция = интеграция маленькими кусками = заставляет дробить работу = меньше рисков/багов поскольку ты фокусируешься на задаче лучше

Aleh
14.01.2018
22:21:32

Sergey
14.01.2018
22:21:57
(в последний раз я забил и ввел у себя на проекте trunk-based dev)

Bohdan
14.01.2018
22:22:15
мне кажется, ты в крайности ударяешься

Sergey
14.01.2018
22:22:29

Aleh
14.01.2018
22:22:31
я не понимаю, в чем проблема и несоответствие, чтобы его пытаться решить

Google

Bohdan
14.01.2018
22:22:45
просто есть такие задачи, которые ну никак не решить за день
и более того

Sergey
14.01.2018
22:22:52

Bohdan
14.01.2018
22:23:08
дробить их тоже бессмысленно из-за того, что дробные куски не несут смысла в основном бранче

Sergey
14.01.2018
22:23:09

Aleh
14.01.2018
22:23:10
чтобы всем объяснили? :)

Sergey
14.01.2018
22:23:55
чтобы всем объяснили? :)
меня не интересует вопрос "зачем" - меня интересуют реальные ситуации когда у людей настойщий CI и они делают PR (для код ревью). Ибо пока-что я прихожу только к тому что с PR это намного сложнее чем с trunk-based dev
более того, мой опыт работы с PR и с trunk based в команде среднего размера больше говорит только о том, что единственный профит от PR это код ревью (изоляцию можно делать десятком других способов). В контексте небольших команд от PR даже больше оверхэда...
для API во всяком случае от PR я вообще профита не вижу...

Bohdan
14.01.2018
22:27:17
я глянул "что есть trunk-based dev" и в формулировке там вполне себе стоит PR как условие мерджа (необязательное, правда)
ты имеешь ввиду мелкие ветки и быстрый мердж в транк?

Sergey
14.01.2018
22:27:47
альтернатива - херачить сразу в мастер для команд которые не умеют делать short-living фича брэнчи

Bohdan
14.01.2018
22:28:29

Sergey
14.01.2018
22:28:41
https://trunkbaseddevelopment.com

Bohdan
14.01.2018
22:28:53
тю, я тут и был

Sergey
14.01.2018
22:28:56
там два популярных - фича тоглы и branch by abstraction (крутая штука)
фича тоглы лично я пока не юзал, но знаю людей которые активно юзают и довольны
более того с ними работал но поскольку пилил API и все тоглы были на уровне UI...
хотя build-time тоглы у меня были тоже... так что... может можно говорить что юзал

Google

Bohdan
14.01.2018
22:31:44
bba почитал и понял - штука логичная, но имеет смысл в относительно крупных командах/проектах
там, где есть много связности
ага, фичетоглы тоже из той же оперы, уловил
штука прикольная
но в build-time версии проект становится зависимым от внешних штук... чуть повышается уровень опасности сделать буллщит

Sergey
14.01.2018
22:35:07

Bohdan
14.01.2018
22:35:23
бо мне не надо хД

Sergey
14.01.2018
22:35:44

Bohdan
14.01.2018
22:36:11
на самом деле я не вижу большого профита от быстродохнущих фиче-бранчей в таком сценарии
bba вроде и ок
но это выглядит как "костыль, чтобы ветки долго не жили"

Sergey
14.01.2018
22:36:58
удобненько

Bohdan
14.01.2018
22:37:45
с другой стороны
сначала поставили ограничение - потом его обходим ценой большего колва кода и (!) потенциально большего количества мест для ошибки
тут да, билд сервер поможет
но он и с просто мерджем старой фичеветки от такого спасет
а вообще я мечтаю о branch-based билдах автоматических

Sergey
14.01.2018
22:39:12
по сравнению с количеством того что ты можешь сломать пиля фичу неделю отдельно от всех

Bohdan
14.01.2018
22:42:11
да, согласен, ты меня убедил
конечно, надо смотреть по факту, но такой подход имеет право на существование

Sergey
14.01.2018
22:42:28
но я еще не определился с тем когда что лучше юзать
в той ситуации когда я применял trunk-based - мне нужно было скоординировать довольно крупные изменения в системе между командой из 10-ти человек (+ человек 20 кто косвенно работал с тем что мы делали).

Google

Sergey
14.01.2018
22:43:15
и это было максимально эффективно
а сейчас у меня ситуация при которой "координировать" надо человека 3 которые не сказать что часто пересекаются

Bohdan
14.01.2018
22:44:11
там да
фичеветки, вероятно, лучше подойдут для компактных изменений
пожалуй, зависит от того, насколько тебе их контролить надо

Sergey
14.01.2018
22:44:49
мне их контролить не надо)

Bohdan
14.01.2018
22:44:54
в плане жесткие или нет проверки в PR

Sergey
14.01.2018
22:45:05
мы друг друга контролим, да, PR ради код ревью вводились по сути
с trunk based у меня там парное программирование вместо ревью было.... немножко

Bohdan
14.01.2018
22:47:01
по идее bba тоже сюда ляжет норм
еще и за счет того, что точек контроля будет больше + early check в плане архитектуры/размещения кода и тд

Jan
15.01.2018
03:54:06
Нужен совет.
Есть сущность, скажем, Vacancy. Есть метод Vacancy::up(UserInterface $user). Хочу запилить проверку на то, может ли текущий пользователь поднять эту вакансию. А может только если есть соответствующие права. Если он автор или модератор/админ.
Правильно ли будет добавить в этот метод (и в похожие ему) второй аргумент как-то так:
public function up(WebUserInterface $user, AccessDecisionManagerInterface $access)
{
if (!$access->isGranted($user, ['edit_vacancy’], $this)) {
throw new SomeException();
}
<…>
}
Если что, это не Symfony, просто немножко похоже)

f4rt~
15.01.2018
05:15:45
почему не ~так
public function up (WebUserInterface $user){
$user->can/garanted/access ??? { ... }
}

Jan
15.01.2018
05:16:51
Тоже вариант, но тогда, получается, сервис проверки где-то выше должен быть. В самом юзере.

Serge
15.01.2018
05:52:41
но он и с просто мерджем старой фичеветки от такого спасет
а вообще я мечтаю о branch-based билдах автоматических
Никто не мешает запилить автоматический билд для всех фича-веток, кроме каких-нибудь специальных имён вроде *-no-build :)
Длина фича-веток, вообще говоря, зависит от сложности задачи, и тут сходу не всегда можно хорошо угадать, если постановка расплывчатая. Бывает, что фича может внезапно выливаться в две недели и более. В этом случае автор фича-ветки (а у нас фича-ветки считаются персональными) сам периодически делает rebase и следит за интеграцией. В идеале перед выполнением PR фича-ветка должна расти прямо из trunk'а и не вызывать конфликтов при мерже в голову.

Pavel
15.01.2018
07:46:41
Lmao, nice design

Dmitriy
15.01.2018
07:49:20
omfg my eyes

Алексей
16.01.2018
10:59:02
@fes0r дайте админку - просто чтобы спам удалять

Google

Sergey
16.01.2018
10:59:59
вообще надо бы подумать о том что бы автоматизировать процесс...

Алексей
16.01.2018
11:00:12

Aleh
16.01.2018
11:08:15

Артур Евгеньевич
16.01.2018
11:11:27
А кто такой Антон?) Ни разу не видал его сообщений

Bohdan
16.01.2018
11:12:08
пишет иногда, и не только тут

Maksim
16.01.2018
11:13:16

Sidredin
16.01.2018
11:16:08
?