štvrtok 6. decembra 2012

Pozor na serverové premenné (JavaScript)

Stránky vytvorené s použitím JavaScriptu na strane servera ponúkajú dynamiku a flexibilitu. Na druhej strane sú s tým spojené aj niektoré riziká. Napríklad, predpokladajme, že mená premenných generujete z kódov produktov uložených v databáze. Môže to byť dobrá schéma, ale čo urobíte v prípade, ak záznam v databáze je prázdny reťazec, číslo, duplicitný záznam alebo nejaké rezervované slovo? Každý z týchto prípadov môže spôsobiť vytvorenie neplatnej premennej.

Ak chcete použiť takúto schému pre automatické vytváranie premenných, musíte sa najprv uistiť, že kód bol skontrolovaný voči všetkému, čo by potenciálne mohlo spôsobiť nefunkčný JavaScript. Nezabudnite, že ak generujete mená premenných, je bezpečnejšie pridať na začiatok premennej nejaký reťazec, aby sa meno nezačínalo číslom. Je to dôležité, keďže funkcie bežne vrátia hodnotu 0 v prípade nejakého problému. Výsledkom by bolo zastavenie JavaScriptu, lebo premenná nemôže začínať číslom.

Ďalšia vec, na ktorú by ste si mali dávať pozor, sú rozdiely v tom, čo kód na strane servera vygeneruje vo vývojovom prostredí a čo v produkčnom prostredí. Veľa záhadných situácií vzniká práve vtedy, keď kód funguje programátorovi, ale nefunguje klientovi. Bol to vôbec ten istý JavaScript? Rôzne prostredia znamenajú rôzne mená premenných a tie môžu znamenať rôzne webové stránky. Podľa Murphyho zákonov nie je náhoda, že sa problémy objavia až pri nasadení v produkčnom prostredí (a nie v testovacom prostredí).