dagblog.
← Archiv

Kodérovo dogma


Znalci problematiky prominou malou nepřesnost v nadpisu neb jednotlivé rady se týkají klientského skriptovaní 
 všobecně. Jednotlivé rady se mi v hlavě sesumírovali postupem času, uzrávali, byly nahrazeny nebo kompletně
 převráceny s rostoucími zkušenostmi mě samého. Neméně důležitou přísadou, byli všemožné otázky, nejasnosti a mýty, 
 které se objevovaly kolem mě v konferencích věnujících se JavaScriptu.

Smysl tohoto článku je poukázat na elementární pravidla, kterých by se měl kodér držet. Ten kdo se rozhodné
 následovat těch pár řádek by si měl v prvé řadě uvědomit, že mnoho vlastností, které dnes pokročilé
 skriptovaní nabízí, není možné využít z důvodu jejich rozdílné implementace. 
 Není důvod se znepokojovat, dnešní prohlížeče poskytují naprosto dostatečnou 
 paletu funckí, které při jejich správné aplikaci zvýší použitelnost stránek.

Většina pravidel vznikla položením prosté otázky proč …, žijeme v uspěchané
 době a mnohdy si nekladame elementární otázky, jejichž zodpovězení by nám dokázalo 
 roskrýt mnohem širší kontext daného problému.

Podívámeli se zpět do histroie klentského skriptování najdeme zde dva hlavní důvody 
 vzniku, umožnění co možná nejširší interakce s uživatelem a práce s formuláři avšak posunemeli se pomyslnou
 časovou osou do současnosti, zjistíme, že hlavně zvýšení interakce bylo motorem v překotném vývoji skriptovaní.
 V současnosti už není problém realizovat složité rozhovory klient-server s využitím technik jako 
 XML-RPC, drag and drop operace, dynamickou změnu
 částí nebo dokonce celého dokumentu.

Zlaté pravidlo: Méně znamená někdy více

Velice dobře zvažujte jakékoliv použití klientského skriptování na vašich stránkách popřípadě webovských aplikacích. 
 Mějte vždy na paměti, že obzvlášte na internetu je dost široka skupina uživatelů s vypnutým skriptováním nebo s jeho omezenou podobou. V takovém
 případě se z různých dynamických menu stavají nepoužitelné kousky kodu a stránky jsou absolutně nepřístupné.
 Mějte na paměti, že méně opravdu znamená více z pohledu uživatele.

Pravidlo číslo dvě: Pouze kod standardní je kod použitelný

Vyvarujte se jakýchkoliv proprietrních vlastností! Bohužel tento nešvar, je vidět opravdu často. Jako typický příklad je používání kolekce all, která je pouze
 proprietární vlastností prohlížečů z rodiny Internet Explorer. Řidtě se vždy platnou specifikací ECMAScriptu a
 kod testujte nejméně v Internet Exploreru,Mozille (či jiném Gecko like prohlížeči) a v prohlížeči Opera. Tak
 můžete odhalit případné rozdíly v implementaci JavaScriptu resp. JScriptu.

Pravidlo číslo tři:Šetřete přenosové pásmo

Za každých okolností se snažte kod oddělit od stránky. Přeneste kod do externích souborů, takovýto kod
 si uživatel stáhne pouze jednou v ostatních případech již funguje cache. Ušetříte jak přenosové pásmo tak
peněženku uživatel. Navíc takovíto kód pomáhá při jeho znovu využití a sdílení mezi více stránkami.

Pravidlo číslo čtyři:Sdílené knihovny a objekty

Pokud možno snažte se psát funkce a objekty tak, aby je bylo možné využívat na více místech vaší 
aplikace nebo projektu. tímto přístupem lze získat mnoho výhod

  • jenotné uložení, jedna změna se projeví na více místech současně
  • lepší zpráva takovehoto kódu
  • internacionalizace na jednom místě
  • větší přehlednost kódu
  • viz. pravidlo tři

Pravidlo číslo pět:Komentáře a verzování

Všechen kód si pečlivě komentujte, pokud nemáte zažité tzv. code convetions, zaveďte si vlastni ,ale hlavně
 je všude v kódu dodržujte. Pamatujte na základní fakt, že kód je jednou psán, ale 1000x procházen a opravován.
 Nezapomínejte ani na fakt, že kód nebudete vždy používat vy, ale může přijít někdo kdo, ho bude muset udržovat.

Zvláště u sdílených knihoven a komponent, býva kvalitní komentář neocenitelnou pomuckou, když nad ním po pár
 měsících sedíte v bezesné noci a luštíte chyby. Další neocenitelnou pomůckou je verzování kódu. Jako dobré 
 řešení se mi osvědčilo používat pro společné komponenty vždy samostatný soubor. S kometářem pak kód
 může vypadat následovně.

/*
@author: Roman Pichlik
@email: [email redacted]
@date: 13.12.2002
@version: 1.13
@description: Metoda otevírá nové okno, jehož URL je určena argumentem foo.
*/
function acme(foo){
window.open(foo);
}

Při složitějších konstrukcích je dobré nechávat příklad použití.

Verze na Medium

Související články

Související epizody CZ Podcastu