# Jak pracovat na programování úkolů
Naším cílem je rozvíjet zábavné a jasné interaktivní učení.
Navrhování interaktivních úkolů kódování je obtížné. Bylo by mnohem snazší napsat dlouhé vysvětlení nebo vytvořit video tutoriál, a je zde místo pro lidi na středním a YouTube. Nicméně pro naše základní osnovy se držíme toho, co funguje nejlépe pro většinu lidí - plně interaktivní zážitek z videoher.
Chceme kamery, aby se dosáhlo stavu toku. Chceme, aby prostřednictvím našich osnov vytvořili hybnou sílu a s co nejmenším počtem hlemýžďů. Chceme, aby se zapojili do projektů s důvěrou a získali velké vystavení koncepcím programování.
Vytváření těchto výzev vyžaduje obrovskou tvořivost a pozornost k detailům. K dispozici je spousta pomoci. Budete mít podporu od celého týmu přispěvatelů, kterým se můžete odvracet nápady a demo své výzvy. Zůstaňte aktivní v [přispěvatelském sále](https://gitter.im/freecodecamp/contributors) a položte mnoho otázek.
S Vaší pomocí můžeme navrhnout interaktivní programovací osnovy, které pomohou milionům lidí naučit se programovat v následujících letech.
Obsah každé výzvy je uložen v jeho vlastním markdown souboru. Tento soubor markdown je později převeden na HTML pomocí našich nástrojů pro vytváření interaktivních webových stránek.
Veškerý obsah měn freeCodeCamp.org naleznete v adresáři [`/curriculum/challenge`](https://github.com/freeCodeCamp/freeCodeCamp/tree/master/curriculum/challenges).
## Nastavit nástroj pro učební plány
Než budete pracovat na učebních plánech, musíte nastavit nějaké nástroje, které vám pomohou vyzkoušet vaše změny. Můžete použít libovolnou možnost z níže:
- Můžete [nastavit volný CodeCamp lokálně](how-to-setup-freecodecamp-locally.md). To je **vysoce doporučeno** pro pravidelné/opakované příspěvky. Toto nastavení vám umožní pracovat a otestovat vaše změny.
- Použijte Gitpod, bezplatné online prostředí pro vývojáře. Kliknutím na tlačítko níže spustíte prostředí pro vývojáře freeCodeCamp ve vašem prohlížeči. Trvá to jen několik minut.
[](https://gitpod.io/#https://github.com/freeCodeCamp/freeCodeCamp)
- Upravte soubory na rozhraní GitHubu kliknutím na ikonu tužky pro odpovídající soubor. I když je to nejrychlejší způsob, není doporučeno ****, protože nejste schopni otestovat změny na GitHubu. Pokud naši správci dospějí k závěru, že změny, které jste provedli, musí být vyzkoušeny lokálně, musíte místo toho znovu použít výše uvedené metody.
## Šablona výzvy
Níže je šablona toho, jak vypadají soubory challenge markdown v současné době. Chcete-li zobrazit zjednodušenou šablonu, uvidíme [níže](#upcoming-challenge-template).
````md
---
id: jedinečný identifikátor (alfanumerický, MongoDB_id)
název: Challenge Title
challengeType: 0
videoUrl: 'url of video explanation'
---
## Popis
`. Například, názvy HTML značek nebo názvy CSS vlastností
- První instance klíčového slova, když je definováno, nebo obecná klíčová slova (např. "objekt" nebo "neměnitelná") jdou na `` tagy
- Odkazy na části kódu (tj. funkce, metoda nebo názvy proměnných) by měly být baleny do značek `
`. Viz příklad níže:
- Použijte
parseInt
k převodu proměnné realNumber
na celé číslo.
- Bloky víceřádkových kódů **musí předcházet prázdný řádek**. Další řádek musí začínat třemi zadními vrátky, po nichž bezprostředně následuje jeden z [podporovaných jazyků](https://prismjs.com/#supported-languages). Chcete-li dokončit blok kódu, musíte spustit novou řádek, který má pouze tři zadky a **další prázdný řádek**. **Poznámka:** Pokud chcete použít příklad kódu v YAML, použít `yaml` místo `yml` pro jazyk vpravo od backtiků.
Viz příklad níže:
````md
Příklad kódu:
```{language}
[VAŠE KÓD ŠERE]
````
````
- Další informace ve formě poznámky by měly být formátovány `Poznámka: Zbytek textu poznámky...
- Pokud je zapotřebí více poznámek, pak uveďte všechny poznámky v samostatných větách ve formátu `Poznámky: Text první poznámky. Text druhé poznámky.`.
- Použijte v případě potřeby dvojí uvozovky
## Testy psaní
Výzvy by měly mít minimální počet zkoušek nutný k ověření, že kampery rozumí koncepci.
Naším cílem je komunikovat o jediném bodu, který se výzva snaží vyučovat, a otestovat, zda tento bod pochopili.
Testy výzev mohou využít výpočetní knihovny Node.js a Chai.js. V případě potřeby je k dispozici uživatelsky generovaný kód v proměnné `code`.
## Formátování kódu seedu
Zde jsou specifické pokyny pro formátování kódu challenge seedu:
- Používejte dvě mezery k odsazení
- příkazy JavaScriptu končí středníkem
- Použijte dvojité uvozovky, kde je to na místě,
- Komentáře by měly mít mezeru mezi znaky komentáře a komentářem samotným
`// Opravit tuto řádek`
## Hints and Solutions
Každá výzva má tlačítko `Získat nápovědu`, aby uživatel měl přístup k jakýmkoli nápovědám/řešením, která byla vytvořena pro výzvu. Témata kuriculum hints/solutions jsou umístěna na [našem fórum](https://forum.freecodecamp.org/c/guide) v kategorii `Guide`.
Pokud najdeš problém s tématem nápovědy/řešení existující výzvy, můžeš předložit návrhy v kategorii [přispěvatelů](https://forum.freecodecamp.org/c/contributors) na fóru. Moderátoři a uživatelé s úrovní důvěry 3 prověří připomínky a rozhodnou, zda zahrnou změny do příslušného tématu h/řešení.
### Přidání nových nápověd/řešení výzev
Proveďte následující kroky při přidání nových nápověd/řešení souvisejících otázek.
1. Začněte sledováním stejných kroků pro vytvoření nového tématu, ale podívejte se na další pro vytvoření titulku.
2. Titulek tématu by měl začínat `freeCodeCamp Challenge Guide: ` spojen se skutečným názvem výzvy učebních plánů. Například, pokud je výzva pojmenována ""Chunky Monkey", titulek tématu bude ""freeCodeCamp Challenge Guide: Chunky Monkey".
3. `camperbot` by měl být vlastníkem těchto témat/příspěvků, takže budete muset požádat správce, aby změnil vlastnictví hlavního příspěvku na `camperbot`.
4. Jakmile je nové téma vytvořeno, je vytvořeno ID tématu fóra. Je umístěn na konci URL tématu fóra. Toto ID musí být přidáno do fronty souboru výzev učebních plánů pomocí normálního procesu požadavku na natažení pro tlačítko `Získat nápovědu` pro propojení s tématem.
### Pokyny pro obsah témat tipů a řešení
Při navrhování řešení pro téma průvodce učebních osnov, musí být přidán celý kód. To zahrnuje všechny původní kódy osiva a veškeré změny potřebné k provedení všech provokačních testů. Následující šablona by měla být použita při vytváření nových témat nápověd/řešení:
````md
# Challenge Name Goes Here
---
## Vysvětlení problémů
Toto shrnuje, co je třeba udělat, aniž by jen opakovalo popis challenge a/nebo pokyny. Toto je volitelná sekce
#### Relevant Links
- [Link Text](link_url_goes_here e)
- [Link Text](link_url_goes_here)
---
## Hints
### Hint 1
Hint zde
### Hint 2
Hint zde
---
## Solutions
Řešení 1 (Click to Show/Hide)
```js
funkce myFunc() {
konzola. og('Hello World!');
}
````
#### Vysvětlení kódu
- Vysvětlení kódu je zde
- Vysvětlení kódu je zde
#### Relevantní odkazy
- [Text odkazu](link_url_goes_here)
- [Text odkazu](link_url_goes_here)
Přesně stejná jako sekce osiva
Znovu stejné
Otázka by šla sem (pouze pro videohovory)
Odpověď 1
Odpověď 2
Odpověď 2
\
````
Vytváření a editace výzev:
Typy výzev - co znamenají numerické hodnoty typu výzvy (enum).
Přispění k FreeCodeCamp - psaní testů výzev ES6 - video po Ethan Arrowood , protože přispívá ke staré verzi učebních plánů.