További tooling megvalósítása


Miután a kurzust elindítottad az első 20+ feladattal és egy tesztfuttatóval, a fókuszt a kurzushoz tartozó további tooling megvalósítására kell helyezni.

A kurzushoz tartozó toolingnak két fajtája van:

  • Éles: kulcsfontosságú funkciót nyújt az adott nyelv tanulási élményéhez
  • Karbantartási: segít a kurzus karbantartásában

Éles tooling

Jelenleg (három) éles tooling létezik:

  • Tesztfuttatók: lefuttatják egy feladat tesztjeit a tanuló kódján. (kötelező)
  • Representerek: normalizált reprezentációt készítenek a megoldásról (opcionális)
  • Elemzők: automatikusan értékelik a tanulók beküldéseit, és mentorstílusú észrevételeket adnak. (opcionális)

Karbantartási tooling

A kurzus karbantartásához a következőt is megépítheted:

  • Tesztgenerátorok: automatikusan létrehozzák vagy frissítik egy feladat tesztjeit és a tanulói kód interfészét. (opcionális)

Melyik eszközt valósítsd meg?

Az éles eszközök fontosabbak a karbantartási eszközöknél. Ezen a ponton már meg kell lennie egy tesztfuttatónak (ha mégsem, nézd meg a tesztfuttató megépítéséről szóló dokumentációt).

Ha megvan a tesztfuttató, a következő eszköz, amivel érdemes foglalkozni, a representer. A representer és az elemző céljai részben átfedik egymást, de azt javasoljuk, hogy először a representert építsd meg, a következő okok miatt:

  • A representereket általában (sokkal) könnyebb megvalósítani
  • A representerek a mentorok megerősítésével sokkal nagyobb hatással lehetnek a mentorálási terhelésre, mint az elemzők
  • A representerek minden feladatra vonatkoznak, míg az elemzők általában konkrét feladatokat vagy azok egy részhalmazát célozzák

Ha nekiállnál egy representer megépítésének, nézd meg a Representer készítése a nulláról dokumentumot.

Végül, miután megépítetted a representert, az utolsó megépítendő eszköz az elemző. Ha nekiállnál egy elemző megépítésének, nézd meg az Elemző készítése a nulláról dokumentumot.

Ezen a ponton a fókuszt valószínűleg vissza kell helyezni a további feladatok hozzáadására. Az új feladatok hozzáadásának felgyorsításához fontold meg egy tesztgenerátor megépítését.

Megvalósítás

A kurzushoz tartozó toolingot általában (nagyrészt) a kurzus nyelvén írják.

Caution

Bár szabadon használhatsz más nyelveket is, minden további nyelv megnehezíti a kurzus karbantartását és a hozzá való hozzájárulást. Ezért azt javasoljuk, hogy lehetőség szerint a kurzus nyelvét használd, mert így könnyebb a karbantartás és a közreműködés.

Élesítés

Az éles eszközöket Docker konténerként csomagolják és futtatják. A tooling Docker-imázseit egy GitHub Actions workflow segítségével élesítik automatikusan.

A karbantartási eszközöket nem élesítik.