GitHub ievieš ‘Stacked Pull Requests’: programmēšana kļūst efektīvāka
Lielu programmatūras projektu izstrādē viena no lielākajām problēmām ir koda izmaiņu pārvaldība. Bieži vien izstrādātājiem nākas strādāt ar milzīgiem Pull Requests (PR), kuru pārskatīšana ir laikietilpīga un kļūdaina. GitHub ir paziņojis par jaunu risinājumu - Stacked Pull Requests, kas šobrīd ir pieejams publiskajā priekšskatījuma (preview) versijā.
Kas ir Stacked Pull Requests?
Vienkāršiem vārdiem sakot, tas ir veids, kā lielas un sarežģītas izmaiņas kodā sadalīt mazākos, saprotamos posmos jeb ‘slāņos’. Tā vietā, lai nosūtītu vienu milzīgu kodu paku, kas izstrādes komandai jāpārskata stundām ilgi, tu vari izveidot vairākus mazus, secīgus PR.
- Viegla pārskatīšana: Kolēģi var pārbaudīt katru izmaiņu slāni atsevišķi.
- Nav jucekļa: Vairs nav jālauza galva par sarežģītu zaru (branch) pārvaldību un manuālu ‘rebasing’.
- Paralēls darbs: Komanda var strādāt pie dažādiem izmaiņu slāņiem vienlaikus.
- Kontrolēta sapludināšana: Vari izvēlēties, kurus slāņus sapludināt uzreiz, un kurus paturēt vēlākai izstrādei.
Kā tas darbojas tabulā:
| Iezīme | Vecā metode | Stacked PR metode |
|---|---|---|
| PR izmērs | Milzīgs (grūti pārskatīt) | Mazs un fokussēts |
| Review process | Laikietilpīgs | Ātrs un paralēls |
| Sapludināšana | Visu vai neko | Pa slāņiem |
“Izstrādātājiem, kuri izmanto AI, PR izmēri ir kļuvuši tik lieli, ka pārskatītājiem ir grūti tajos orientēties. Stacked PRs palīdz atrisināt šo problēmu, sadalot darbu saprotamos gabalos.”
Šo tehnoloģiju jau aktīvi izmanto lieli projekti, piemēram, Next.js, jQuery un TED. Tā ir īpaši noderīga, strādājot ar lieliem funkcionalitātes papildinājumiem, kurus ir vieglāk ieviest soli pa solim, nevis visu uzreiz.
Kur to izmēģināt?
Šo funkciju vari izmantot tieši GitHub tīmekļa vietnē, izmantojot gh-stack komandas terminālī, vai pat GitHub mobilajā lietotnē un GitHub Copilot rīkos.
Un kā domā Tu - vai šāda ‘sadalīta’ programmēšana palīdzēs Tev strādāt ātrāk, vai arī tas radīs papildus haosu koda versiju pārvaldībā?
Iezīmē tekstu un spied ziņot par kļūdu.