Dnešní statistiky

Absolvovaná cvičení
-
Napsané znaky Napsaná slova
-
Čas cvičení
-

Celkové statistiky

Absolvovaná cvičení
-
Napsané znaky Napsaná slova
-
Čas cvičení
-

Lekce psaní všemi deseti
pro programátory

  • Různé programovací jazyky
  • Závorky, operátory a klíčová slova

Každý programovací jazyk má vlastní syntaxi. Kód můžeš psát rychleji díky tréninku psaní všemi deseti. Lekce výše obsahují různé fragmenty kódu vybraného jazyka, na kterých si procvičíš jeho klíčová slova a symboly.

Lekce psaní všemi deseti pro programátory

pokrok
slov/min. / přesnost
úroveň
1. Programování: Python
-
-
2. Programování: JavaScript
-
-
3. Programování: Java
-
-
4. Programování: C++
-
-
5. Programování: C#
-
-
6. Programování: Go
-
-
7. Programování: PHP
-
-
8. Programování: SQL
-
-
9. Programování: Bash
-
-

Procvičuj psaní všemi deseti na příkladech z programovacích jazyků

Psaní všemi deseti v programování

Programování se často popisuje jako řešení logických problémů, návrh systémů a tvorba aplikací. Všechno to platí. Přitom se zapomíná, že základem je i fyzická dovednost zapisovat kód do editoru. K zadávání kódu programátor používá klávesnici. Když při psaní závorek nebo smyčky for musíš hledat klávesy, odvádí tě to od řešeného problému. Plynulé psaní omezuje tyto přestávky v zadávání kódu. Psaní všemi deseti v programování ti umožní soustředit se na problém, nikoli na samotný úkon psaní. Rychlé psaní v programování není o "120 slovech za minutu", ale o přesnosti a jistotě při zadávání symbolů, klíčových slov a konstrukcí, ze kterých se kód skládá.

Proč je psaní všemi deseti pro programátory důležité

Na rozdíl od běžného textu má kód přesně danou strukturu a syntaxi. Nelze spoléhat na to, že překladač nebo interpret uhodne, co jsi zamýšlel, když zadáš nesprávný znak. Překlep může způsobit syntaktickou chybu nebo změnit význam programu, i když kód zůstane platný. Rychlé psaní v programování proto procvičuj společně s přesností; samotná rychlost nezaručuje méně oprav. Psaní všemi deseti ti umožní sledovat editor místo klávesnice a při zadávání kódu věnovat méně pozornosti hledání kláves. Kontrola logiky programu a řešení problémů zůstávají samostatnou částí práce.

AgileFingers se zaměřuje právě na tuto výzvu: dává programátorům lekce psaní založené na reálném kódu, ne na náhodných znacích syntaxe. Nejde o výuku jazyka od nuly, ale o komfort při zapisování jeho konstrukcí. Spojení psaní všemi deseti s obeznámeností se syntaxí daného jazyka se promítá do programátorovy sebejistoty.

Jazyky podle obtíží při psaní

Různé jazyky kladou při psaní různé nároky. Z pohledu psaní všemi deseti dává smysl seskupovat je podle sekvencí stisků kláves, které při psaní používáš, ne podle paradigmat programování. AgileFingers nabízí cvičení v jazycích Java, JavaScript, C++, C#, Go, PHP, SQL, Bash a Python. V čem se liší:

Jazyky s výrazným používáním složených závorek (Java, JavaScript, C++, C#, Go)
Tyto jazyky často využívají složené závorky {} a kulaté závorky. V Javě, C++ a C# se příkazy zpravidla ukončují středníkem; Go většinu středníků vkládá automaticky a JavaScript je v mnoha případech umožňuje vynechat. Tyto znaky tvoří kostru kódu. Když při jejich psaní musíš hledat klávesy, odvádí tě to od práce. Příklad v jazyce Java:


public class Greeter {
    public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("Ahoj " + i);
        }
    }
}

Nebo C#, kde je syntaxe obsáhlejší, ale konzistentní:


for (int i = 0; i < 10; i++) {
    Console.WriteLine($"Hodnota: {i}");
}

Rychlé psaní takových smyček vyžaduje jistotu při vkládání závorek, středníků a operátorů. C++ přidává ukazatelové operátory (*, ->), Go syntaxi zjednodušuje, ale také používá složené závorky. Procvičováním těchto sekvencí kláves v AgileFingers získáváš větší jistotu při jejich zadávání.

Skriptovací a dotazovací jazyky (Bash, PHP, SQL)
Skripty jsou jiný svět: symbolů je hodně. V Bash často používáš roury (angl. "pipe" - |), přesměrování a znak dolaru $:


for file in *.txt; do
  echo "Zpracovávám $file"
done

V PHP začíná zápis proměnné znakem $. Pokud je PHP vložené do HTML, střídají se v souboru značky HTML a kód se syntaxí podobnou C. V SQL jde méně o interpunkci a více o strukturovaná klíčová slova:


UPDATE users
SET active = 0
WHERE last_login < NOW() - INTERVAL '30 days';

U takových jazyků znamená psaní všemi deseti obeznámenost se sekvencemi klíčových slov a symbolů. I krátké zaváhání u "pipe" nebo chybějící středník dokáže přerušit myšlenkový proud.

Jazyky se syntaxí řízenou odsazením (Python)
Python je specifický tím, že odsazení je součástí syntaxe. Chybějící mezera či dvojtečka dokážou program rozbít. Postup psaní je jasný: if ...:, nový řádek, odsazení. Například:


def factorial(n):
    if n == 0:
        return 1
    return n * factorial(n - 1)

Trénink psaní všemi deseti v Pythonu pomáhá zvyknout si na jeho vizuální strukturu a zápis s odsazením. Většina editorů vkládá tabulátory či mezery automaticky, ale stále potřebuješ rozeznat, kde blok začíná a končí. Když znáš obvyklé rozložení kódu, lépe se v něm orientuješ při psaní a kontrolách. AgileFingers obsahuje mnoho úryvků kódu v Pythonu, na kterých si procvičíš zadávání těchto konstrukcí.

Další programovací jazyky
Mimo již podporované jazyky mají Rust, Kotlin, Swift nebo Haskell vlastní zvláštnosti syntaxe. Rust klade důraz na bezpečnost paměti prostřednictvím vypůjčování (&) a "lifetime" ('a). Kotlin rád používá lambda výrazy a "šipky", Swift kombinuje známé konstrukce C s moderní výrazovostí a Haskell vyžaduje pečlivé odsazení a časté symbolické operátory. Bez ohledu na jazyk dává psaní všemi deseti pevný základ pro zvládání těchto nuancí.

Programování ve stavu "flow"

Programování je příjemné, když se do úkolu plně ponoříš a můžeš své nápady převádět do kódu bez zbytečných přerušení. Tento stav hlubokého soustředění se často nazývá "flow". Při práci pak věnuješ pozornost logice programu, návrhu a řešení problému. Psaní všemi deseti pomáhá omezit vyrušování při hledání kláves: nemusíš přecházet pohledem mezi klávesnicí a editorem kvůli každé závorce. Znalost syntaxe ale vychází ze studia a používání daného jazyka, ne pouze z pohybů prstů. Trénink psaní, automatické doplňování i kopírování kódu mohou být součástí stejného pracovního postupu; důležité je rozumět tomu, co do programu vkládáš.

Automatické doplňování kódu

Automatické doplňování je užitečné pro dlouhé názvy proměnných nebo tříd i pro opakující se smyčky a bloky. Když ale přijmeš celý návrh, neprocvičíš si jeho napsání znak po znaku. Pokud se jazyk teprve učíš, přečti si doplněný kód a ověř, že rozumíš jeho stavbě. Vybrané konstrukce si také zkus napsat samostatně; používání doplňování samo o sobě neznamená, že zapomeneš syntaxi.

Asistenti AI (ang. "AI assistants") mohou navrhovat celé funkce, někdy i několik bloků najednou. To může ušetřit psaní, ale návrh je potřeba přečíst a případně upravit: drobné detaily mohou změnit chování programu. Používání asistenta samo o sobě z programátora nedělá pouhého recenzenta. Pořád rozhoduješ, jaký kód přijmeš a jak jej začleníš do projektu. Psaní všemi deseti se hodí při vlastních úpravách, doplňování i opravách. AgileFingers ti nabízí možnost procvičit si samostatné zadávání konstrukcí jazyka a získat větší jistotu při psaní jeho symbolů a klíčových slov.

Práce s IDE a editory

Integrované vývojové prostředí (angl. Integrated Development Environment, IDE) je víc než editor: spojuje editaci, ladění, refaktoring, testování i správu projektu v jednom nástroji. Příklady: IntelliJ IDEA, PyCharm nebo Rider. Nabízejí automatické doplňování kódu, detekci chyb a pokročilou navigaci. Jistota při psaní pomáhá při zadávání a úpravách kódu. K běžným příkazům můžeš využívat klávesové zkratky, ale práci s myší i klávesnicí si přizpůsob podle konkrétního úkolu a svých zvyklostí.

Automatické doplňování v IDE je praktické, ale nenahrazuje základní znalost jazyka. Můžeš ho používat na dlouhé identifikátory i běžné konstrukce, pokud rozumíš výslednému kódu. Chceš-li si procvičit zápis smyčky for, zkus ji někdy napsat bez šablony a ověř její podmínku i tělo. Psaní všemi deseti se hodí při vlastním zadávání a úpravách kódu. Doplňování a trénink psaní se tak mohou doplňovat, aniž bys musel jeden z nich odmítat.

Na pomezí IDE a editorů stojí Visual Studio Code. Někteří mu říkají IDE, technicky je to pokročilý textový editor. S vhodnými rozšířeními je mimořádně silný. Rozšíření pro emulaci Vimu přinášejí jeho klávesové zkratky do VS Code. Podpora Gitu je součástí editoru; další rozšíření nabízejí prohlížení databází nebo linting (angl. "linting"). Psaní všemi deseti je užitečné při zadávání a úpravách kódu, ale přínos těchto nástrojů závisí také na tom, jak je používáš pro konkrétní úkol.

Neovim - síla editoru zaměřeného na klávesnici

Neovim je navržený pro práci s klávesnicí, ale podporuje i myš a lze ho používat prostřednictvím grafického rozhraní. Jeho příkazy umožňují přesnou editaci: dd smaže řádek, ciw změní slovo a :%s/foo/bar/g nahradí text v celém souboru. Pro navigaci slouží například 42G, které tě přesune přímo na řádek 42. Psaní všemi deseti pomáhá při zadávání příkazů a kódu. Důležitá je také znalost příkazů samotných; tu získáváš jejich používáním při konkrétních úpravách.

Pluginový ekosystém dělá z Neovimu všestranný nástroj: telescope.nvim pro vyhledávání, coc.nvim nebo nvim-cmp pro doplňování, fugitive.vim pro Git. Tyto pluginy přidávají do editoru příkazy pro vyhledávání, doplňování a správu verzí. Pokud raději pracuješ s klávesnicí, můžeš se jejich zkratky naučit spolu s editačními příkazy Neovimu a při zadávání kódu využít psaní všemi deseti.

Mechanické klávesnice a pohodlí při programování

Po letech psaní kódu zjistíš, že klávesnice je součástí tvého pracovního stylu. Mechanické klávesnice používají jednotlivé mechanické spínače a nabízejí různé pocity při stisku. To, co je pohodlné při dlouhé práci, závisí na konkrétní klávesnici, jejím umístění i na tvých zvyklostech. Můžeš zvolit různé typy spínačů, často označované barvami jako red, blue nebo brown. Liší se například potřebnou silou stisku, hmatovou odezvou a zvukem; jejich vlastnosti je třeba posuzovat podle konkrétního modelu. Tak si přizpůsobíš psaní vlastním preferencím. Psaní všemi deseti můžeš trénovat na klávesnici, která ti vyhovuje. Samotné mechanické spínače ale nezaručují menší únavu, větší přesnost ani uvolněné prsty při dlouhém sezení; pohodlí ovlivňuje také poloha rukou a přestávky.

Role AI a jak neztrácet dovednosti

Nástroje AI mohou generovat úryvky kódu, celé funkce i programy. Jejich návrhy šetří část ručního psaní, ale je potřeba ověřit, zda řeší skutečný úkol. Pokud přijmeš kód, kterému nerozumíš, bude obtížné ho později měnit nebo hledat chyby. To je konkrétní důvod, proč dál studovat jazyk a zkoušet psát vlastní programy. Samotné používání AI neznamená ztrátu znalosti syntaxe ani konec tvůrčí práce. Návrh řešení, rozhodování o změnách a kontrola výsledku zůstávají součástí programování.

AI může být užitečná při psaní opakujícího se kódu nebo diagnostických výpisů, například print či console.log. I u takové pomoci rozhoduješ, co se má vypisovat a kde, a kontroluješ navržený kód. Podle úkolu střídáš vlastní psaní, úpravy a kontrolu návrhů; všechny tyto činnosti patří k práci programátora. Psaní všemi deseti se uplatní při ručním zadávání a opravách. AgileFingers nabízí procvičování klíčových slov a symbolů v ukázkách kódu, takže můžeš pracovat na rychlosti a přesnosti jejich psaní. Znalost jazyka a návrhu programu rozvíjíš studiem a vlastními projekty.

Na závěr

Psaní všemi deseti se při programování hodí k zadávání i úpravám kódu. Když znáš polohu kláves, můžeš sledovat editor místo toho, abys neustále hledal znaky na klávesnici. Zapisování nápadu pak méně přerušuje hledání správné klávesy. Rychlost psaní a správnost programu jsou ale dvě různé věci: logiku kódu musíš dál kontrolovat a výsledek testovat. Vlastní psaní kódu lze kombinovat s automatickým doplňováním i návrhy AI podle toho, co se pro daný úkol hodí.

AgileFingers nabízí programátorské lekce s úryvky kódu v Javě, Pythonu, Go a dalších jazycích. Opakováním používaných stisků kláves trénuješ rychlost a přesnost psaní a vytváříš si svalovou paměť pro běžné symboly a posloupnosti kláves. Zvykáš si tak na zápis kódu, ale jeho význam poznáš studiem jazyka a prací na vlastních projektech. I když nástroje kód generují nebo doplňují, psaní všemi deseti se hodí při zadávání vlastních změn a oprav.

slov za minutu znaků za minutu slov/min. znaků/min. slov/min. znaků/min. Graf /domaci-prace /prace-ve-tride /in-class-assignment