Miután megvalósítottad a hello-world feladatot, a következő feladatod, hogy legalább 20 további feladatot valósíts meg.
Kétféle feladatot valósíthatsz meg:
Általában azt javasoljuk, hogy az új kurzusok a gyakorlófeladatok megvalósításával kezdjenek, mivel ezeket könnyebb megvalósítani, és kevesebb előzetes gondolkodást igényelnek. Tanulófeladatokat mindig hozzáadhatsz később, amikor a kurzusod már rendesen működik.
Hogy segítsük a kurzusokat a gyakorlófeladatok megvalósításában, létrehoztuk az exercism/problem-specifications repozitóriumot. Ez a repozitórium több mint 100 gyakorlófeladat metaadatait tartalmazza, amelyekből a különböző kurzusok elkészíthetik ezeknek a feladatoknak a saját kurzushoz igazított változatát. Éppen ezért ugyanazokkal a feladatokkal fogsz találkozni sok különböző kurzusban.
Szóval hogyan válaszd ki a legalább 20-at ebből a több mint 100 feladatból? Íme néhány irányelv.
A több mint 100 feladatban használt fogalmak között nagy a változatosság. Törekedj arra, hogy olyan feladatokat valósíts meg, amelyekkel a tanulók sokféle fogalmat gyakorolhatnak. Tehát ahelyett, hogy 20 darab stringekre összpontosító feladatot valósítanál meg, próbálj különböző fogalmakra összpontosító feladatokat készíteni.
Íme néhány fogalom példafeladatokkal:
| Fogalmak | Feladatok |
|---|---|
| Bitenkénti műveletek | allergies, secret-handshake |
| Boolean-ok | leap |
| Osztályok | circular-buffer, robot-name |
| Párhuzamosság | bank-account |
| Feltételes elágazások | raindrops |
| Dátumok és idő | gigasecond, meetup |
| Egyenlőség | clock |
| Lebegőpontos számok | darts, space-age |
| Lusta kiértékelés | alphametics, zebra-puzzle |
| Listák | resistor-color, spiral-matrix |
| Ciklusok | collatz-conjecture, protein-translation |
| Asszociatív tömbök | nucleotide-count |
| Számok | leap, grains |
| Véletlenszerűség | dnd-character, robot-name |
| Stringek | bob, isogram, |
| Fák | binary-search-tree, pov |
Egyes feladatokat nehezebb megvalósítani, mint másokat. Törekedj arra, hogy változó nehézségű feladatokat valósíts meg: néhány könnyebbet, néhány közepeset és néhány nehezet.
Az, hogy egy feladat mennyire nehéz, több tényezőtől függ, például a benne szereplő fogalmaktól és a kurzus nyelvétől. Hasznos lehet megnézni, hogyan néz ki a feladat más kurzusokban, amelyek már megvalósították, hogy jobban átérezz, milyen is lehet a saját megvalósításod.
Íme néhány nehézségi szint feladatokkal:
| Nehézség | Feladatok |
|---|---|
| Könnyű | darts, gigasecond, isogram, leap, resistor-color, space-age |
| Közepes | allergies, bob, meetup, protein-translation, raindrops, secret-handshake |
| Nehéz | alphametics, forth, react, pov, zebra-puzzle, zipper |
Nem biztos, hogy minden feladat illik a kurzusodhoz. Csak azokat a feladatokat válaszd ki, amelyek illenek a kurzusodhoz; jobb, ha egy feladatot nem valósítasz meg, mint ha olyat valósítasz meg, amelynek nincs értelme. Például a lens-person feladatban a tanuló lencsékkel dolgozik, amit sok nyelv nem támogat.
Ha olyan feladatot találsz, amely nem illik a kurzusodhoz, felveheted a slugját az exercises.foregone tömbbe a kurzus config.json fájljában.
Ezzel eléred, hogy a tooling figyelmen kívül hagyja ezt a feladatot.
Hogy mindez kicsit kézzelfoghatóbb legyen, így nézhet ki egy kezdeti feladatválogatás:
| Feladat | Nehézség | Fogalmak |
|---|---|---|
| hello-world | Könnyű | Nincs (kezdő feladat) |
| leap | Könnyű | Számok, Boolean-ok |
| gigasecond | Könnyű | Dátumok és idő |
| isogram | Könnyű | Stringek |
| resistor-color | Könnyű | Listák |
| nucleotide-count | Könnyű | Asszociatív tömbök |
| collatz-conjecture | Könnyű | Ciklusok |
| darts | Könnyű | Lebegőpontos számok |
| two-fer | Könnyű | Stringformázás, opcionális argumentumok |
| high-scores | Könnyű | Kollekciók feldolgozása |
| raindrops | Közepes | Feltételes elágazások |
| bob | Közepes | Stringek |
| allergies | Közepes | Bitenkénti műveletek |
| series | Közepes | Kivételek |
| circular-buffer | Közepes | Osztályok |
| meetup | Közepes | Dátumok és idő |
| yacht | Közepes | Listák |
| dominoes | Nehéz | Tuple-ok, lusta kiértékelés |
| diamond | Nehéz | Stringformázás |
| alphametics | Nehéz | Lusta kiértékelés |
| forth | Nehéz | Elemzés |
Miután kiválasztottad a kurzusodba felvenni kívánt feladatokat, a következő lépés a megvalósításuk. A Gyakorlófeladat hozzáadása dokumentáció részletes útmutatást ad arról, hogyan adj hozzá egy gyakorlófeladatot.