@oop_ru

Страница 452 из 785
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
что бы интегрироваться постоянно)
что значит "интегрироваться постоянно" и как это связано с временем жизни PR?

Sergey
14.01.2018
22:21:57
что значит "интегрироваться постоянно" и как это связано с временем жизни PR?
ну вот я не могу скоррелировать идею фича брэнчей и CI

(в последний раз я забил и ввел у себя на проекте 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
я не понимаю, в чем проблема и несоответствие, чтобы его пытаться решить
потому я спросил есть ли тут кто у кого реально есть CI (а лучше сразу CD)

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
я глянул "что есть trunk-based dev" и в формулировке там вполне себе стоит PR как условие мерджа (необязательное, правда)
short-living feature branches то есть ветки которые существуют ну может день-два перед вмердживанием.

альтернатива - херачить сразу в мастер для команд которые не умеют делать 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 версии проект становится зависимым от внешних штук... чуть повышается уровень опасности сделать буллщит

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

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

bba вроде и ок но это выглядит как "костыль, чтобы ветки долго не жили"

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

bba вроде и ок но это выглядит как "костыль, чтобы ветки долго не жили"
это не кастыль - это способ уменьшить риски (путем уменьшения изменений).

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
Тоже вариант, но тогда, получается, сервис проверки где-то выше должен быть. В самом юзере.

почему не ~так public function up (WebUserInterface $user){ $user->can/garanted/access ??? { ... } }
Думаю, это более интересный вариант. Надо попробовать.

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
@fes0r дайте админку - просто чтобы спам удалять
достаточно пинговать админов)

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

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
А кто такой Антон?) Ни разу не видал его сообщений
напиши чё-нить гадкое про ddd, или про es/cqrs, сработает триггер у него)

Sidredin
16.01.2018
11:16:08
?

Страница 452 из 785