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

  1. A GitHubon hozzon létre egy elágazást a csomagtárolóból, amelyet módosítani kíván.
  2. Klónozzuk ezt a tárolót a számítógépünkre.
  3. Telepítse a függőségeket, beleértve a Nette Tester-t is, a composer install parancs segítségével.
  4. Ellenőrizze, hogy a tesztek működnek-e a következő futtatással composer tester
  5. 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:

  1. Végezze el a kívánt változtatásokat, és ne feledkezzen meg a tesztekről.
  2. Győződjön meg róla, hogy a tesztek sikeresen futnak a composer tester
  3. Ellenőrizze, hogy a kód megfelel-e a kódolási szabványoknak.
  4. 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:

  1. Tolja a változtatásokat a GitHubra a saját elágazásához
  2. Onnan küldje el őket a Nette tárolóba egy pull request (PR) létrehozásával.
  3. 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:

  1. Tartsa nyomon a javasolt változtatásokat
  2. építse be őket új commitként vagy egyesítse őket a korábbiakkal
  3. 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 -->