Hozzájárulás a kódhoz
Tervezi, hogy hozzájárul a Nette keretrendszerhez, és meg kell ismerkednie a szabályokkal és eljárásokkal? Ez a kezdő útmutató végigvezet a kódhoz való hatékony hozzájárulás, a tárolókkal való munka és a változtatások megvalósításának lépésein.
Eljárás
A kódhoz való hozzájáruláshoz elengedhetetlen, hogy rendelkezz egy fiókkal a GitHubon, és ismerd a Git verziókezelő rendszerrel való munka alapjait. Ha nem ismered a Git-et, akkor nézd meg a git – az egyszerű útmutatót, és fontold meg a számos grafikus kliens egyikének használatát.
A környezet és a tároló előkészítése
- A GitHubon hozzon létre egy elágazást a csomagtárolóból, amelyet módosítani kíván.
- Klónozzuk ezt a tárolót a számítógépünkre.
- Telepítse a függőségeket, beleértve a Nette Tester-t is, a
composer install
parancs segítségével. - Ellenőrizze, hogy a tesztek működnek-e a következő futtatással
composer tester
- Hozzon létre egy új ágat a legfrissebb kiadott verzió alapján.
Saját változtatások végrehajtása
Most már elvégezheti saját kódjainak módosítását:
- Végezze el a kívánt változtatásokat, és ne feledkezzen meg a tesztekről.
- Győződjön meg róla, hogy a tesztek sikeresen futnak a
composer tester
- Ellenőrizze, hogy a kód megfelel-e a kódolási szabványoknak.
- Mentse (commit) a változtatásokat egy leírással ebben a formátumban
Több commitot is létrehozhat, egyet-egyet minden egyes logikai lépéshez. Minden commitnak önmagában is értelmesnek kell lennie.
Változások elküldése
Ha elégedett a módosításokkal, elküldheti azokat:
- Tolja a változtatásokat a GitHubra a saját elágazásához
- Onnan küldje el őket a Nette tárolóba egy pull request (PR) létrehozásával.
- Adjon meg elegendő információt a leírásban
Visszajelzések beépítése
A commitjaid most már mások számára is láthatóak. Gyakori, hogy javaslatokat tartalmazó megjegyzéseket kapunk:
- Tartsa nyomon a javasolt változtatásokat
- építse be őket új commitként vagy egyesítse őket a korábbiakkal
- Küldje el újra a commitokat a GitHubra, és azok automatikusan megjelennek a pull requestben.
Soha ne hozzon létre új pull requestet egy meglévő módosításához.
Dokumentáció
Ha megváltoztattál egy funkciót, vagy új funkciót adtál hozzá, ne felejtsd el azt is hozzáadni a dokumentációhoz.
Új ág
Ha lehetséges, végezze el a változtatásokat a legutolsó kiadott verzióval, azaz az ág utolsó tagjével szemben. A v3.2.1 címkéhez hozzon létre egy ágat ezzel a paranccsal:
git checkout -b new_branch_name v3.2.1
Kódolási szabványok
A kódnak meg kell felelnie a Nette Frameworkben használt kódolási szabványnak. A kód ellenőrzésére és javítására automatikus eszköz áll rendelkezésre. Ezt globálisan telepítheted a Composer segítségével egy általad választott mappába:
composer create-project nette/coding-standard /path/to/nette-coding-standard
Most már képesnek kell lennie az eszköz futtatására a terminálban. Az első parancs ellenőrzi, a második pedig javítja
a kódot az aktuális könyvtárban lévő src
és tests
mappákban:
/path/to/nette-coding-standard/ecs check
/path/to/nette-coding-standard/ecs check --fix
Kötelezettségvállalás Leírás
A Nette-ben a commit témák a következő formátumúak: Presenter: fixed AJAX detection [Closes #69]
- terület, amelyet kettőspont követ
- a kötelezettségvállalás célja múlt időben; ha lehetséges, kezdje a következő szavakkal: added, fixed, refactored, changed, removed
- ha a commit megszakítja a visszafelé kompatibilitást, írja be, hogy „BC break“.
- bármilyen kapcsolat a hibakövetővel, például
(#123)
vagy[Closes #69]
- a tárgy után egy üres sor következhet, amelyet egy részletesebb leírás követhet, beleértve például a fórumra mutató linkeket is.
Pull Request leírása
A GitHub felületén a pull request létrehozásakor megadhat egy címet és egy leírást. Adjon tömör címet, és a leírásban adjon meg minél több információt a változtatás okairól.
A fejlécben azt is adja meg, hogy új funkcióról vagy hibajavításról van-e szó, és hogy okozhat-e visszafelé kompatibilitási problémákat (BC break). Ha van kapcsolódó probléma, hivatkozzon rá, hogy az a pull request jóváhagyásakor lezárásra kerüljön.
- bug fix / new feature? <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#? <!-- highly welcome, see https://nette.org/en/writing -->