У чому філософія Trunk-Based Development?
Філософія Trunk-Based Development (TBD) - це ідея постійної і ранньої інтеграції, коли команда якомога частіше об'єднує зміни, а не відкладає це «на потім».
Простіше кажучи: «Інтегруйся рано, інтегруйся часто».
Ключова філософська ідея
Замість підходу:
«Спочатку довго робимо фічу в окремій гілці, потім зливаємо»
TBD каже:
«Маленькі зміни повинні потрапляти в спільну гілку постійно»
Основні принципи Trunk-Based Development
1. Мінімум розгалужень
- одна головна гілка:
main/trunk - немає довгоживучих feature-гілок
- будь-які гілки - дуже короткі (години, максимум день-два)
Менше розходжень і конфліктів.
2. Маленькі й часті зміни
- коміти маленькі
- PR маленькі
- зміни легко перевірити і відкотити
Проблеми знаходяться раніше і простіше.
3. Рання інтеграція замість пізнього merge
- код інтегрується одразу
- конфлікти ловляться швидко
- команда завжди працює з актуальним кодом
Немає «пекельного merge наприкінці».
4. Стабільний trunk
mainзавжди повинен бути в робочому стані- зламати trunk - серйозна проблема
- CI і тести - обов'язкові
5. Feature flags замість довгих гілок
- незавершений функціонал ховається за флагами
- код може бути в
main, але вимкнений - реліз не блокується фічами
Швидкість без ризику.
Що Trunk-Based Development цінує найбільше
- швидкий зворотний зв'язок
- постійну інтеграцію
- простоту
- швидкість доставки змін
- мінімальний ризик великих інтеграцій
Анти-ідея (чому TBD протистоїть)
- довгоживучі feature-гілки
- рідкі і великі merge
- інтеграція «в останній момент»
- великі релізи із сюрпризами
Коротке формулювання для співбесіди
Філософія Trunk-Based Development - це постійна рання інтеграція невеликих змін в одну основну гілку, щоб мінімізувати конфлікти, пришвидшити зворотний зв'язок і підвищити стабільність розробки.
Коротка відповідь
Для співбесідиКоротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.