Jak přispět do kódu
Chystáte se přispět do Nette Frameworku a potřebujete se zorientovat v pravidlech a postupech? Tento průvodce pro začátečníky vám krok za krokem ukáže, jak efektivně přispívat do kódu, pracovat s repozitáři a implementovat změny.
Postup
Pro přispívání do kódu je nezbytné mít účet na GitHub a být obeznámen se základy práce s verzovacím systémem Git. Pokud neovládáte práci s Gitem, můžete se podívat na průvodce git – the simple guide a případně využít některého z mnoha grafických klientů.
Příprava prostředí a repozitáře
- na GitHubu si vytvořte fork repositáře balíčku, který se chystáte upravit
- tento repositář naklonujete na svůj počítač
- nainstalujte závislosti, včetně Nette Testeru, pomocí
příkazu
composer install
- zkontrolujte, že testy fungují, spuštěním
composer tester
- vytvořte si novou větev založenou na poslední vydané verzi
Implementace vlastních změn
Nyní můžete provést své vlastní úpravy kódu:
- naprogramujte požadované změny a nezapomeňte na testy
- ujistěte se, že testy proběhnou úspěšně, pomocí
composer tester
- zkontrolujte, zda kód splňuje kódovací standard
- změny uložte (commitněte) s popisem v tomto formátu
Můžete vytvořit několik commitů, jeden pro každý logický krok. Každý commit by měl být smysluplný samostatně.
Odeslání změn
Jakmile budete se změnami spokojeni, můžete je odeslat:
- odešlete (pushněte) změny na GitHub do vašeho forku
- odtud je odešlete do Nette repositáře vytvořením pull request (PR)
- uveďte v popisu dostatek informací
Zapracování připomínek
Vaše commity nyní uvidí i ostatní. Je běžné, že dostanete komentáře s připomínkami:
- sledujte navrhované úpravy
- zapracujte je jako nové commity nebo je slučte s předchozími
- znovu odešlete commity na GitHub a automaticky se objeví v pull requestu
Nikdy nevytvářejte nový pull request kvůli úpravě stávajícího.
Dokumentace
Pokud jste změnili funkčnost nebo přidali novou, nezapomeňte ji také přidat do dokumentace.
Nová větev
Pokud je to možné, provádějte změny vůči poslední vydané verzi, tj. poslednímu tagu v dané větvi. Pro tag
v3.2.1
vytvoříte větev tímto příkazem:
git checkout -b new_branch_name v3.2.1
Coding Standards
Váš kód musí splňovat coding standard používaný v Nette Framework. Pro kontrolu a opravu kódu je k dispozici automatický nástroj. Lze jej nainstalovat přes Composer globálně do vámi zvolené složky:
composer create-project nette/coding-standard /path/to/nette-coding-standard
Nyní byste měli mít možnost spustit nástroj v terminálu. Prvním příkazem zkontrolujete a druhým i opravíte kód ve
složkách src
a tests
v aktuálním adresáři:
/path/to/nette-coding-standard/ecs check
/path/to/nette-coding-standard/ecs check --fix
Popis komitu
V Nette mají předměty komitů formát: Presenter: fixed AJAX detection [Closes #69]
- oblast následovaná dvojtečkou
- účel commitu v minulém čase, je-li to možné, začněte slovem: added, fixed, refactored, changed, removed
- pokud commit přeruší zpětnou kompatibilitu, doplňte „BC break“
- případná vazba na issue tracker jako
(#123)
nebo[Closes #69]
- za subjektem může následovat jeden volný řádek a poté podrobnější popis včetně třeba odkazů na fórum
Popis pull requestu
Při vytváření pull requestu vám rozhraní GitHubu umožní zadat název a popis. Uveďte výstižný název a v popisu poskytněte co nejvíce informací o důvodech pro vaši změnu.
Zobrazí se také záhlaví, kde specifikujte, zda se jedná o novou funkci nebo opravu chyby a zda může dojít k narušení zpětné kompatibility (BC break). Pokud je k dispozici související problém (issue), odkazujte na něj, aby byl uzavřen po schválení pull requestu.
- bug fix / new feature? <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#? <!-- highly welcome, see https://nette.org/en/writing -->