Kako prispevati h kodi
Se pripravljate prispevati k Nette Frameworku in potrebujete orientacijo glede pravil in postopkov? Ta vodnik za začetnike vam bo korak za korakom pokazal, kako učinkovito prispevati h kodi, delati z repozitoriji in implementirati spremembe.
Postopek
Za prispevanje h kodi je nujno imeti račun na GitHub in biti seznanjen z osnovami dela z verzijskim sistemom Git. Če ne obvladate dela z Gitom, si lahko ogledate vodnik git – the simple guide in po potrebi uporabite katerega od mnogih grafičnih klientov.
Priprava okolja in repozitorija
- na GitHubu si ustvarite fork repozitorija paketa, ki ga nameravate urejati
- ta repozitorij klonirajte na svoj računalnik
- namestite odvisnosti, vključno z Nette Testerjem,
z ukazom
composer install
- preverite, ali testi delujejo, z zagonom
composer tester
- ustvarite si novo vejo, ki temelji na zadnji izdani različici
Implementacija lastnih sprememb
Zdaj lahko izvedete svoje lastne prilagoditve kode:
- sprogramirajte zahtevane spremembe in ne pozabite na teste
- prepričajte se, da testi uspešno potekajo, z uporabo
composer tester
- preverite, ali koda ustreza standardom kodiranja
- spremembe shranite (commitnite) z opisom v tem formatu
Lahko ustvarite več commitov, enega za vsak logični korak. Vsak commit bi moral biti smiseln sam po sebi.
Pošiljanje sprememb
Ko boste s spremembami zadovoljni, jih lahko pošljete:
- pošljite (pushnite) spremembe na GitHub v vaš fork
- od tam jih pošljite v Nette repozitorij z ustvarjanjem pull requesta (PR)
- v opisu navedite dovolj informacij
Vključevanje pripomb
Vaše commite bodo zdaj videli tudi drugi. Običajno je, da boste prejeli komentarje s pripombami:
- spremljajte predlagane prilagoditve
- vključite jih kot nove commite ali jih združite s prejšnjimi
- ponovno pošljite commite na GitHub in samodejno se bodo pojavili v pull requestu
Nikoli ne ustvarjajte novega pull requesta zaradi urejanja obstoječega.
Dokumentacija
Če ste spremenili funkcionalnost ali dodali novo, je ne pozabite tudi dodati v dokumentacijo.
Nova veja
Če je mogoče, izvajajte spremembe glede na zadnjo izdano različico, tj. zadnjo oznako (tag) v dani veji. Za oznako
v3.2.1
ustvarite vejo s tem ukazom:
git checkout -b new_branch_name v3.2.1
Standardi kodiranja
Vaša koda mora ustrezati standardu kodiranja, ki se uporablja v Nette Frameworku. Za preverjanje in popravljanje kode je na voljo samodejno orodje. Lahko ga namestite prek Composerja globalno v mapo po vaši izbiri:
composer create-project nette/coding-standard /path/to/nette-coding-standard
Zdaj bi morali imeti možnost zagnati orodje v terminalu. S prvim ukazom preverite in z drugim tudi popravite kodo v mapah
src
in tests
v trenutnem imeniku:
/path/to/nette-coding-standard/ecs check
/path/to/nette-coding-standard/ecs check --fix
Opis commita {#Popis komitu}
V Nette imajo predmeti commitov format: Presenter: fixed AJAX detection [Closes #69]
- področje, ki mu sledi dvopičje
- namen commita v preteklem času, če je mogoče, začnite z besedo: »added« (dodana nova lastnost), »fixed« (popravek), »refactored« (sprememba v kodi brez spremembe obnašanja), changed, removed
- če commit prekine povratno združljivost, dodajte »BC break«
- morebitna povezava z issue trackerjem kot
(#123)
ali[Closes #69]
- za subjektom lahko sledi ena prosta vrstica in nato podrobnejši opis, vključno na primer s povezavami na forum
Opis pull requesta
Pri ustvarjanju pull requesta vam vmesnik GitHub omogoča vnos naslova in opisa. Navedite jedrnat naslov in v opisu podajte čim več informacij o razlogih za vašo spremembo.
Prikazala se bo tudi glava, kjer določite, ali gre za novo funkcijo ali popravek napake in ali lahko pride do prekinitve povratne združljivosti (BC break). Če obstaja povezan problem (issue), se nanj sklicujte, da bo zaprt po odobritvi pull requesta.
- bug fix / new feature? <!-- #številke issue-jev, če obstajajo -->
- BC break? yes/no
- doc PR: nette/docs#? <!-- zelo dobrodošlo, glej https://nette.org/en/writing -->