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
- #217 · Ivo Lukačovič
O Windy, JavaScriptu a budování firem.
- #3 · Java 6 SE, Vývoj webových aplikací
Dagi a Filemon o novinkách v Javě 6 a webových frameworcích.