Skip to content

Feature Branch

Kuvauksen kirjoitti: Juho Pulkkinen, L4692

Lyhyt kuvaus käsitteestä tai aiheesta

Feature Branch on kopioitu versio pääkoodista, missä esimerkiksi yksi ohjelmistokehityksen tiimin jäsen voi työstää uutta ominaisuutta rauhassa. Uuden ominaisuuden valmistuttua, sivuhaaran koodi voidaan liittää takaisin pääkoodiin. Jos samaa lähdekoodia on tekemässä monta kehittäjää, on oleellista, että he noudattavat tiettyä strategiaa yhdessä työskennellessään. Jokainen kehittäjä luo pääkoodista oman haaransa (branch) välttääkseen ylikirjoittamasta toistensa muutoksia. Tästä syntyy puuta muistuttava rakenne. Muutokset liitetään (merging) sivuhaarasta takaisin pääkoodiin. Tämäntyyppinen toiminta sopii open-source -kehitykseen.

Sivuhaaran tuotoksia ei liitetä pääkoodiin, ennen kuin ominaisuus on valmis. Sivuhaarassa työskenteleminen voi kestää viikkoja tai jopa kuukausia. Tästä johtuen pääkoodiin liittäminen voi vaikeutua, koska muita sivuhaaroja on jo liitetty muuttaen pääkoodia (merge conflict). Feature Branch -tyylissä ohjelmointi ja liittäminen tapahtuu versionhallintaohjelmistolla, esimerkiksi käyttämällä Git:iä tai Githubia. Pääkoodi ja kaikki sivuhaarat sijaitsevat samassa koodirepositoriossa. Jos ominaisuuksien koodaamisessa ei kestä kuin muutama päivä, ongelmilta todennäköisesti vältytään.

Kun koodiin on tehty muutoksia, kehittäjä pyytää tiimin muita jäseniä tekemään koodin tarkastuksen, jotta vältytään virheiltä liittämisvaiheessa (pull request). Kun tarkastus on suoritettu, voidaan suorittaa pääkoodiin liittäminen.

Muuta aiheeseen liittyvää

Konfliktien välttämiseksi nykyajan ohjelmistokehityksen tiimit työskentelevät jatkuvan integroimisen mallia hyödyntäen.

Linkit ulkopuolisiin lähteisiin

Avainsanat harjoitustehtävän repositoriossa