Věk popularizace programování: Je nutný standardní styl kódování s vysokou čitelností?

Tento blogový příspěvek zkoumá nutnost a výhody a nevýhody standardního stylu kódování pro zlepšení čitelnosti a efektivity spolupráce v době, kdy se programování stalo popularizovaným.

 

S nedávným pokrokem v oblasti IT vzrostl zájem o tuto oblast, což vedlo k nárůstu počtu lidí, kteří se chtějí naučit programovat. Ať už se učíte sami s knihami, nebo absolvujete několik měsíců kurzů na specializovaných programátorských akademiích, nyní si může kdokoli vytvořit vlastní program, a to i bez hlubokých znalostí. To je díky vývoji různých nástrojů, které zlepšují přístupnost programování. Například Google poskytuje zdarma Android SDK (Software Development Kit), který umožňuje vývoj programů běžících na operačním systému Android. Tyto nástroje poskytují pohodlí a pomáhají snadno programovat i těm, kteří nemají specializované znalosti.
Skutečnost, že se programování stalo dostupným všem, však není zcela pozitivní. Popularizace programování vedla k několika problémům, zejména k obtížím se čtením programového kódu napsaného v různých stylech kódování. Styl kódování je v kontextu psaní analogický se stylem psaní. I když se psaní může zdát srozumitelné, pokud je gramatika správná, autoři používají styl vhodný k účelu textu, aby čtenáři snáze porozuměli. Například stejně jako esej vyžaduje stručný a jasný styl spíše než květnaté výrazy, i v kódování, i když program funguje se správnou syntaxí, vede přidání vhodného stylu kódování k čitelnějšímu kódu. Naopak nevhodný styl kódování kód ztěžuje jeho pochopení.
S rostoucí velikostí programů vývoj často zahrnuje spolupráci mezi více lidmi. Programátoři proto musí zvážit čitelnost, aby zajistili, že ostatní budou moci jejich kód snadno číst a rozumět mu. Neodborníci s omezenými zkušenostmi s programováním však mají problém s psaním vysoce čitelného kódu. Je to proto, že ti, kteří se učí programovat prostřednictvím krátkodobého školení, se zaměřují výhradně na vytváření „programů, které nějakým způsobem fungují“, aniž by se naučili psát „čitelný kód“. Kód se špatnou čitelností nejen brání spolupráci, ale může také způsobovat problémy při budoucích úpravách kódu.
Abychom tento problém vyřešili, musíme zavést způsob, jakým mohou začátečníci psát snadno čitelný kód. Za tímto účelem navrhuji přijetí standardního stylu kódování. Standardní styl kódování označuje pravidla vyžadující od programátorů, aby se zřekli svých individuálních stylů a dodržovali předem stanovený standardní styl. Zatímco většina programovacích jazyků neklade žádná omezení na styl kódování kromě syntaxe, standardizace stylu kódování může usnadnit porozumění kódu a snížit problémy s čitelností.
Samozřejmě mohou existovat protiargumenty proti návrhu na zavedení standardního stylu kódování. Protože každý má svůj preferovaný styl kódování, může se standardní styl některým programátorům zdát jako nepříjemné omezení. Kódování podle pevně stanoveného stylu, nikoli podle vlastního, může být obtížné a může prodloužit pracovní dobu. Sám jsem tuto obtíž zažil. Loni v červnu, když jsem pracoval jako asistent známkování na korejské informatické olympiádě, jsem měl zkušenost s psaním kódu, který jsem studentům poskytl jako vzorovou odpověď. Snažil jsem se stylově přizpůsobit loňským vzorovým odpovědím, aby jim studenti snáze porozuměli, ale dodržování neznámého stylu znamenalo, že úkol, který měl trvat hodinu, se protáhl na více než dvě.
I když standardní styly kódování mohou takto snižovat efektivitu práce, věřím, že mají v mnoha ohledech pozitivní účinky.
Zaprvé, standardní styly kódování jsou efektivní pro dlouhodobou údržbu programů. Společnosti programy po vydání průběžně aktualizují opravou chyb nebo přidáváním funkcí. Protože se programátoři během tohoto procesu často mění, je čitelný kód nezbytný pro nové programátory, aby snadno porozuměli stávajícímu kódu. Přijetí standardního stylu kódování snižuje potřebu jednotlivých programátorů individuálně se zaměřovat na čitelnost a definovaný styl usnadňuje čtení kódu.
Některé společnosti dokonce nařizují svůj vlastní styl kódování, aby zlepšily efektivitu údržby, a vyžadují, aby se ho všichni programátoři řídili. Během návštěvy společnosti Google Korea před pěti lety společnost Google zdůraznila, že všichni programátoři musí dodržovat styl kódování definovaný společností. Naopak kamarád pracující v herní společnosti zmínil, že nemají žádný stanovený styl kódování.
Za druhé, v současném trendu, kdy jsou open-source projekty vysoce ceněny, by standardní styl kódování značně prospěl programátorům. Otevřený zdrojový kód je veřejně dostupný, což umožňuje snadný přístup nejen profesionálním programátorům, ale i laikům, což umožňuje různým uživatelům vylepšovat funkčnost programu a opravovat nepříjemnosti. Vzhledem k této kolaborativní povaze open-source kódu se kód psaný v různých stylech může smíchat, což ztěžuje jeho pochopení. Často používám open-source kód související s počítačovou grafikou a osobně jsem měl potíže se čtením kódu kvůli rozmanitosti stylů kódování. Standardizovaný styl kódování mohl tuto nepříjemnost zmírnit.
Za třetí, standardizované styly kódování mohou také zvýšit efektivitu programátorského vzdělávání. To také snižuje zátěž pedagogů. Vzpomínám si na svou zkušenost jako instruktor na programátorské akademii a trávil jsem značné množství času čtením studentského kódu a opravováním chyb. Studenti se obvykle zaměřovali spíše na psaní „funkčního kódu“ než na „čitelný kód“. Nečitelný kód ztěžoval hledání chyb, vyžadoval značný čas, úsilí a způsoboval značný stres. Pokud by studenti psali kód dodržující standardní styl, tyto obtíže by se zmírnily. Katedra informatiky na Soulské národní univerzitě také nabízí několik kurzů, které zahrnují hodnocení čitelnosti a povzbuzují studenty k psaní vysoce čitelného kódu. Standardizovaný styl kódování tak prospívá jak pedagogům, tak studentům.
Z pohledu studenta mohou standardizované styly kódování snížit zmatek a zvýšit motivaci. Knihy o programování a online kurzy často používají nekonzistentní styly a někdy dokonce učí ty nesprávné. Pro studenty je obtížné posoudit správnost těchto stylů a jejich pouhé dodržování může vést k tomu, že se stanou programátory, kteří píší nečitelný kód. Standardní styl by tomuto problému předešel.
I když jsme diskutovali o pozitivních účincích, které by standardizovaný styl kódování mohl přinést, musíme také zvážit proveditelnost standardizace. Na druhou stranu, vzhledem k matematickému modelu programovacích jazyků může být pro počítače náročné zpracovat styl kódování nad rámec pouhé syntaxe. Kromě toho existují potíže s převodem veškerého existujícího kódu napsaného v různých stylech tak, aby odpovídal standardu, a probíhají debaty o tom, který styl by měl být přijat jako standard.
Nalezení pozitivního řešení těchto problémů s proveditelností je obtížné, ale s postupujícím výzkumem se možnosti postupně zvyšují. Například Python se snaží regulovat styl kódování přidáním syntaktické podmínky zvané pravidlo odsazení.
Stručně řečeno, standardizace stylů kódování má významný pozitivní vliv na údržbu, propagaci open source a vzdělávání. Studenti informatiky, studenti bez tohoto oboru a kdokoli, kdo se zajímá o programování, se musí snažit psát snadno čitelný kód. I když je to v současné situaci bez standardního stylu obtížné, domnívám se, že standardizovaný styl kódování je z těchto důvodů naprosto nezbytný.

 

O autorovi

Spisovatel

Jsem "kočičí detektiv" a pomáhám shledávat ztracené kočky s jejich rodinami.
Dobíjím energii nad šálkem café latte, ráda se procházím a cestuji a rozšiřuji si myšlenky psaním. Doufám, že jako blogerka pozoruji svět a řídím se svou intelektuální zvídavostí, a tak mohu nabídnout pomoc a útěchu ostatním.