Bystroushaak's blog / Czech section / Jak se stát programátorem / Editor

Editor

Znáte ten textový editor ve Windows, notepad? Umožňuje vám psát a upravovat text velice jednoduchým způsobem. Pokud chcete programovat, budete potřebovat něco sofistikovanějšího, nějaký editor pro programátory.

Ne že by tedy nešlo programovat i pomocí notepadu, principiálně vám v tom nic nebrání. Programátorský editor je ovšem jeden z mála nástrojů, které si můžete svobodně vybrat a který za vás bude dělat ohromné množství práce. Neexistuje objektivní důvod, proč nechtít to nejlepší co je k dostání a používat něco horšího.

Každý programátorský editor, který je co k čemu musí umět několik základních věcí.

Základy

Jedná se samozřejmě o schopnosti, které po editoru vyžaduji já a je nutné poznamenat, že jsem v tomhle ohledu docela zmlsaný.

Pokud s programováním začínáte, je víc než pravděpodobné, že většinu těchto funkcí potřebovat nebudete. Postupem času, jak bude počet hodin, které strávíte v editoru narůstat zjistíte, že se vám sem a tam hodí něco navíc. Najednou potřebujete přidat další řádek, i když jste uprostřed jiného. Smazat celé slovo, celou větu, doplnit závorky, obalit kód komentářem..

Za pár let si pak najednou uvědomíte, že toho od editoru požadujete najednou spoustu. Že za vás dělá velkou část práce, skoro jako by vám četl myšlenky.

Nekonečné vracení editací (redo)

Každý z nás občas v textu udělá chybu. Potom je vhodné mít možnost vrátit se zpět.

Notepad umí jít jen o jeden krok zpátky a věřte mi, velmi často budete chtít jít dál do minulosti. K tomu se hodí mít editor, který umí jít do minulosti o nekonečný počet kroků, až zpět k prázdnému dokumentu.

Obvyklá klávesová zkratka; CTRL+z, někde CTRL+u

Barvení syntaxe

Zdrojový kód, který editujete má jasně danou strukturu, proto se hodí, když vám editor některé její prvky automaticky zvýrazňuje. Vizuální zvýraznění vám umožní jednodušší orientaci v kódu a vůbec celkově tolik usnadňuje život, že je dnes již považováno za naprostou samozřejmost.

K zvýrazňování syntaxe také patří zvýraznění odpovídajících závorek a upozornění na neuzavřené stringy.

Zvýraznění bílých znaků

Zvýraznění bílých (neviditelných) znaků je dobře vidět na následujícím obrázku. Editor vám prostě a jednoduše místo mezer, tabulátorů a nových řádek zobrazuje zástupné, slabě viditelné piktogramy, aby jste věděli, co vlastně v kódu ve skutečnosti je.

Odsazování

Každý netriviální editor dnes umí odsazovat text. Pokud netušíte co to znamená, tak vězte že to není nic jiného, než automatické vkládání mezer na začátek řádku.

Při programování se to hodí pořád, obzvlášť v pythonu, kde je to nikoliv volitelná část, ale nutnost.

Obvyklá klávesová zkratka; klávesa TAB

Nastavení odsazování

Je dobré mít možnost zvolit si kolik mezer se má na začátek řádku přidat a zda se má jednat o mezery, nebo tabulátor. Běžně bývá odsazení nastaveno na čtyři mezery, nebo jeden znak tabulátoru o šířce čtyř mezer.

V pythonu je běžné a doporučované používat čtyři mezery.

Posouvání kusů kódu

Dejme tomu, že máte kus kódu a chcete ho posunou o jedno odsazení doleva, nebo doprava. Můžete samozřejmě začít mazat či přidávat mezery na začátek textu, ale mnohem elegantnější řešení je prostě onen kus kódu vybrat a posunout pomocí klávesové zkratky. Dobré editory takto umí posouvat i nahoru a dolu.

Obvyklé klávesové zkratky pro posunutí

Směr posunutí Klávesová zkratka
Doprava TAB
Doleva Shit+TAB
Nahoru Alt+šipka nahoru
Dolu Alt+šipka dolu

Zakomentování či odkomentování bloků kódu

Většina jazyků poskytuje nějaký jednoduchý způsob, jak zakomentovat větší či menší kus textu. Programátorské editory vám šetří práci, protože namísto aby jste museli kód komentovat ručně vám umožní zakomentovat vše, co máte momentálně vybrané.

Klávesové zkratky jsou různé. Já na to používám CTRL+e, které při stisknutí cykluje a zakomentovává a odkomentovává vybraný blok kódu.

Duplikace, smazání a posun řádky

Každý slušný programátorský editor vám buďto nabízí, nebo minimálně umožňuje vytvořit klávesové zkratky pro často používané úpravy.

Duplikace, smazání a posun řádky jsou tři velmi časté úpravy, které vám garantuji, že budete jako programátor dělat dnes a denně. Pravděpodobně jste podobné úpravy dělali již mnohokrát i v obyčejných textech, jen jste k tomu přistupovali hrubou silo. Když chcete smazat řádek, tak ho vyberete myší a stisknete backspace, či postupně umazáváte jednotlivá slova. Když chcete řádek přesunout někam jinam, či zduplikovat tak ho vyberete a zkopírujete či přesunete.

Takhle to určitě můžete praktikovat i nadále, jen je to hrozně neefektivní. Slušné programátorské editory vám umožní provést duplikace, mazání a přesuny řádků a slov pomocí klávesových zkratek a celá operace se tak smrskává na desetiny vteřin.

Běžné klávesové zkratky: CTRL+k, CTRL+d, CTRL+l, CTRL+SHIFT+šipka nahoru/dolu, CTRL+ALT+šipka.

Přechod na nový řádek

Velmi často se také hodí mít možnost přechodu na nový řádek, pokud se již nacházíte uprostřed nějakého jiného. Normální postup by byl ten, že prvně dojdete na konec řádku (zkušenější uživatelé k tomu použijí klávesu HOME) a poté stisknete Enter. My zhýčkaní programátoři stiskneme CTRL+Enter, někdy též SHIFT+Enter a editor automaticky přejde dál.

Doplňování kusů kódu

Mezi naprostý základ také řadím doplňování kódu, kdy se editor snaží odhadnout co chcete napsat ještě předtím, než to nepíšete. Dobré editory a IDE umí odhadovat váš text z kontextu, takže vám nebudou napovídat věci, které by v daném místě neměly smysl.

Jak to celé funguje můžete vidět tady:

Tato funkce šetří tolik času a námahy, že si bez ní již programátorský editor vůbec nedokáži představit.

Pokročilé

Dobré editory, nebo spíš IDE potom umí ještě velkou spoustu věcí navíc - makra, expanze kusů kódů (snippety), doplňování setterů/getterů, formátování kódu, refactoring, pokročilé nastavení barev a všeho možného, řazení textu, změna velkých/malých písmen, skládání kódu, selectování řádku, mazání řádku, duplikace řádku, spouštění kompilace, debugger, integrovaná podpora gitu, zobrazování kontextové nápovědy, přechody na definice kódu, linter.

Dobré editory dokáží nahradit velká a neohrabaná IDE - profesionální vývojová prostředí, přestože je jejich velikost a spotřeba paměti oproti IDE jen minimální. Praktickou ukázkou těchto editorů, se kterými mám dobrou zkušenost je Vim, Emacs a Sublime text a Visual studio code. Poslední dobou ovšem vzhledem k náročnosti práce a častým refactoringům složítého kódu používám PyCharm.

Become a Patron