Středa 6. července 2022, Den upálení mistra Jana Husa
  • schránka
  • Přihlásit Můj účet
  • Středa 6. července 2022 Den upálení mistra Jana Husa

Programátorům záleží na barvičkách. Pomáhají jim vyznat se v chaosu

K čemu používají programátoři barvy? Při psaní kódu jim barevné odlišení syntaxe pomáhá vyznat se v textu, vyhledávat překlepy nebo rozpoznat komentář od aktivního kódu. Většina programátorů nedá na zvýrazňování syntaxe dopustit, ale kritici tvrdí, že může být i škodlivé spoléhat na to až příliš.

Zvýraznění syntaxe (ilustrační foto) | foto: Pavel Kasík - Technet.cz

Psaní počítačového kódu je v mnoha ohledech exaktní proces. Pro někoho je to spíše hra, pro dalšího skládání modulů jako lego kostiček a odlaďování metodou pokus omyl. Skoro každý editor počítačového kódu nabízí uživatelům nástroje, které jim mají práci usnadnit. Jedním z nich je zvýraznění syntaxe.

V čem programátoři pracují

Pro tvorbu počítačového kódu teoreticky stačí jakýkoli textový editor (a následně kompilátor, emulátor nebo interpreter pro spuštění kódu). Většina programátorů ovšem používá specializované editory, které jim nabízejí funkce šité na míru jejich potřebám. Často jde o tzv. vývojové prostředí (IDE).

Tato funkce je stará více než třicet let. Navazuje na starší koncept editorů strukturovaného kódu, které dokonce byly tak přísné, že dokonce neumožňovaly udělat v syntaxi chybu. Programátor prostě vybíral z možných příkazů, takže překlepy vlastně (alespoň ve struktuře) neexistovaly.

Barevné zvýraznění syntaxe oproti tomu do kódu nezasahuje (nebo zasahuje jen minimálně, například doplněním uvozovek a závorek). Programátor píše kód na klávesnici volně, bez omezení, ale zvýrazňovač provádí tzv. parsování a hledá v napsaném textu klíčová slova nebo znaky, které mají speciální (syntaktický) význam. Nejlépe je to vidět na příkladu:

Ukázka kódu v jazyce Python se zvýrazněním syntaxe (nahoře) a bez zvýraznění. Všiměte si zejména zelených komentářů, což je text, který slouží pouze pro přehlednost programátorovi a neprojeví se na běhu programu. Řádek s komentářem začíná mřížkou #, Programátor může komentář použít i k rychlému dočasnému zneplatnění části kódu.

Je zvýraznění syntaxe škodlivé, nebo prospěšné?

Oblíbenost zvýraňování mezi programátory (n=347) v průzkumu Technet.cz

Na první pohled je zvýraznění syntaxe veskrze příjemná funkce, proti které se zdánlivě nedá nic namítat. To nám potvrdili i programátoři, které jsme oslovili v rychlém průzkumu mezi čtenáři Technetu. Více než 96 % hlasujících, kteří se živí programováním, používá zvýrazňování syntaxe a považuje jej za užitečné. Tomu odpovídaly i vzkazy respondentů:

  • „Zvýrazňování syntaxe je užitečné, když někde uděláte chybu a zapomenete středník nebo uvozovky. Zvýrazňování se pak zblázní a vy víte, že něco chybí.“
  • „Nemám rád velké barevné rozdíly, ale uvítám oddělení komentářů a dalších ‚nevýkonných’ bloků.“
  • „Bez základního zvýrazňovaní syntaxe si nedokážu představit programování.“
  • „Existuje vůbec někdo, kdo bez zvýraznění syntaxe ještě programuje?“
  • „Divná otázka. Ani by mne nenapadlo, že by někdo bez zvýrazňování dobrovolně programoval!“
  • „Bez zvýrazňování syntaxe by svět zanikl v chaosu.“

Zvýraznění syntaxe v běžném textu může odvádět pozornost od významu vět (ukázka z Ústavy ČR)

Ale najdou se i programátoři, kteří zastávají zcela opačné stanovisko. „Psaní kódu je často plné komplexních struktur a důležitých detailů,“ píše ve svém příspěvku programátor Linus Åkesson. „Abyste se v něm vyznali, musíte mu rozumět. A v takovou chvíli vám nepomůže zvýraznění syntaxe, protože v takovou chvíli vás zajímá obsah a význam (sémantika).“

Zvýraznění syntaxe je pro Åkessona spíše berlička pro začínající programátory než reálně užitečný nástroj. „Je to, jako když učitel hudby nalepí na klávesy piana barevné nálepky. Pak může říkat ‚stiskni žlutou klávesu‘ místo ‚stiskni F‘. Ale až se žák naučí noty, bude se muset také odnaučit přiřazené barvy.“

Zvýraznění syntaxe podle Åkessona pomáhá pouze s jedním úkolem: odhalí chyby v syntaxi. „Ale takové chyby odhalí kompilátor tak jako tak,“ zdůrazňuje. „Místo toho by se programátoři měli zaměřit na to, co kód vlastně dělá.“ A od toho je prý současné zvýraznění syntaxe odvádí.

Není všechno černobílé

Je jasné, že Åkessonův názor je v naprosté menšině. I největší odpůrci zvýrazňování syntaxe ostatně uznávají, že někdy je tato služba nenahraditelná. Třeba ve chvíli, kdy pomocí funkce plnotextového vyhledávání procházíte svůj kód a najednou se dostanete doprostřed delšího bloku komentáře. V takovou chvíli je zelená (či jiná) barva to jediné, co vám sděluje, že nejde o aktivní kód.

Podle jiných kritiků nejde o to, že je zvýrazňování syntaxe špatné samo o sobě. Spíše by prý programátoři měli přemýšlet, jak nastavit barvy tak, aby je přirozeně povzbuzovaly ke psaní lepšího kódu. „Řada programátorů má kód plný neužitečných komentářů, protože komentáře jsou tak trochu skryté zelenou barvou,“ ukazuje třeba programátor James Fisher. „Ale když si nastavíte jako barvu pro komentáře svítivou červenou, najednou vás trkne, jak je ten kód ohavný. A to je dobře, že vypadá ohavně. To vás donutí napsat přehledný a lepší kód.“

Vadí mu také, že barva pro odstranění je obvykle červená, zatímco barva pro přidání nového textu (například v příspěvcích do kódu na GitHub) je zelená. „Naznačuje to, že více kódu je dobře, zatímco odstraňování je nebezpečné,“ říká Fisher. „Podle mých zkušeností je to často naopak.“

Programátor si může zvýrazňování syntaxe nejen vypnout/zapnout, ale také do detailů přizpůsobit svým představám a stylu práce

Otázka tedy zřejmě nezní, zda syntaxi zvýrazňovat, ale zda programátoři tuší, jak zvýrazňování syntaxe ovlivňuje jejich návyky, například právě při zacházení s komentáři. Vědecká studie potvrzuje, že okamžitá zpětná vazba programovacího prostředí snižuje počet chyb a zvyšuje porozumění tomu, co se děje, zejména u začínajících programátorů.

Zvýrazňování syntaxe je navíc možná zavádějící výraz. „Mělo by se tomu říkat ‚skrývání syntaxe‘, protože nejužitečnější pro mě je, že obarvený text nemusím číst a přesto rychle pochytím, jaký má pro kód význam,“ komentuje jeden z programátorů na Hacker News. Mezi programátory je to každopádně oblíbené téma k diskuzi, i když v této otázce mají povětšinou jasno.

Autor:
Témata: software
  • Nejčtenější

Česká houfnice Morana se zařadila mezi hvězdy veletrhu obrany

Advertorial Eurosatory je nejvýznamnější evropský veletrh obranné a bezpečnostní techniky. Letos se kvůli covidu konal po čtyřleté...

Stop pro letoun F-35? Švýcaři prověřují podezřelé nesrovnalosti v tendru

Úspěšné tažení letounů F-35 Evropou v roce 2021 pokračovalo ve Finsku a Švýcarsku. V alpské zemi se však nad nákupem...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Gripen versus F-35. Ve finále výběru neuškodí zvážit všechna pro a proti

Výběr budoucích stíhacích letounů pro české letectvo jde do finále a zdá se, že i jako v některých jiných evropských...

Váháte s upgradem na Windows 11? Tyto informace byste měli vědět

Nejnovější verzi operačního systému Windows 11 přijímají uživatelé po celém světě. Přestože nikdo není nucen na novou...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Za bouřky jděte dovnitř, před bleskem ochrání také les. Hlavně si nelehejte

Premium Letní bouřka umí rozehrát fascinující show. Blesky srší k zemi, rozsvěcují oblohu. Hlavně si dejte pozor, abyste byli...

Cesta do Chorvatska 2022: Jak projet rozkopané Slovinsko a tankovat v Maďarsku

Premium Dobrá zpráva pro dovolenkáře mířící autem na Jadran. Cesta byla letos hladká, na nejrychlejší trase přes Vídeň, Graz...

Zbraně, které zaskočily Putina: „Muskovo“ bombardování

Premium Už druhý den po nočním překročení hranic měli triumfálně projíždět centrem Kyjeva, po čtyřech měsících místo toho vězí...

Jet sto třicet, nebo zpomalit? Na dálnici můžete uspořit litry paliva

Premium Ceny paliv opět atakují rekordy. Také si všímáte, o kolik víc řidičů jezdí poslední měsíce „na spotřebu“? Vyzkoušeli...

  • Další z rubriky

Plánujte rychleji v Google kalendáři. Vyzkoušejte šestici klávesových zkratek

Premium Vybrali jsme několik klávesových zkratek pro webový kalendář Google, které vám mohou ušetřit čas. Jednoduše tak změníte...

Nová zbraň Googlu umí využít i počítačový šrot

Je to nějaká prapodivná verze Windows, nebo ten systém Chrome OS? Tato otázka vás napadne, pokud poprvé spatříte nový...

JPEG slaví 30 let. Proč má různé zkratky a využívá ztrátovou kompresi

Ať používáte PC, digitální fotoaparát nebo smartphone, nelze nenarazit na soubory s příponami JPEG, případně JPG. Jde o...

Končí ikonický i kontroverzní prohlížeč společnosti Microsoft

Ve středu se uzavírá příběh jedné velké legendy. Internetový prohlížeč Internet Explorer, který psal dějiny skoro 27...

Ne, ne, já nemusím, já už ho vidím. Holčička z reklamy na Kofolu se vrací

Malá holčička z vánoční „prasátkové“ reklamy na Kofolu, ve které zazněly hlášky „a bude mít ty velký zahnutý zuby...

Pavla Tomicová výrazně zhubla a s kolegy oslavila šedesátiny

Pavla Tomicová měla s Dášou Zázvůrkovou v květnu nehodu, když do kolegyniny Vespy před Národním divadlem nabouralo...

Herec a režisér Vojtěch Kotek se oženil. S partnerkou chodili více než rok

Herec Vojtěch Kotek (34) se ve čtvrtek oženil. Podle webu Expres.cz si vzal přítelkyni Radanu, se kterou chodí více než...

Móda z Varů: Luxus i lacinost. Sexy Ramba a Plodková. Třeštíková přestřelila

Na červeném koberci zazářily v den slavnostního zahájení 56. ročníku karlovarského filmového festivalu v luxusních...

Ruská ekonomika se hroutí, už není pochyb, ukazují nová statistická data

Ekonomika v Rusku se postupně hroutí, píše americký týdeník Newsweek. Průmyslová výroba se propadla hned v několika...