Sve su firme šampionske, razlika je samo u kompenzaciji.
 

  Site o šampionizmu i šampionskim firmama na hrvatskoj informatičkoj sceni.            ->Engleski site
  O šampionima i šampionizmu | Šampionski manifest | Legenda o šampionima | Vaše priče | Pošaljite svoju priču | Ogledi o šampionizmu | Ankete | Šampionski biseri
  Vaše priče
  Prije (Previous) | Nastavak (Next)
  Šampionski biseri
 
 

Autor: Vedran (poslano mailom na legende)

Poštovanje,
pohvale za cjelokupni rad i prilažem svoju priču.

Pozdrav

    Vedran
--------------------------
--------------------------


Pred kraj projekta pridružio se kolega da se stignu rokovi. Kolega ne spada u šampione, ali se šampionizam može svakome desiti. Svako je radio svoj posao (barem sam tako mislio) i ispravljao uočene bugove. Kada je projekt pušten u rad, bacio sam pogled na "ispravljene bugove". Ispravka je bilo podosta, a dajem jedan od meni dražih primjera.

Primjer iz javaScripta. Funkcija treba setirati input polje i submitati formu:

Original:

function setFirst(fi)
{
        document.forma.first.value = fi;
        document.forma.submit();
}

 Ispravljeno:

function switchToPage(p) {
        if (!p) return;
        var frm = document.getElementById('forma');
        var obj = frm ? frm.elements['p'] || frm.p || null : null;
        if (obj) obj.value = String(p);
        if (frm) frm.submit();
}


Možete primjetiti da su imena funkcije i input polja izmjenjeno iz "setFirst" u  "switchToPage" odnosno
"first" u "p".

Linija
var obj = frm ? frm.elements['p'] || frm.p || null : null;

mi je posebno draga. Trebalo mi je podosta vremena da je kolko tolko rekonstruiram. Ista linija napisana čitljivije korištenjem naredbe if

 
if(frm)
{
        obj = frm.elements['p'] || frm.p || null
}
else
{

        obj = null
}

Dodatna analiza:

if(frm) – frm je forma, a ne logièni operator. Valjda se mislilo na if(frm == null)

obj = frm.elements['p'] || frm.p || null –  Mješati logičke operatore i element forme je za pohvalu. Ovo radi jer frm.elements['p'] je dio koji se nalazi pa operator || ne traži dalje, frm.p je apsolutno ništa jer je p ulazna varijabla funkcije, u ovom slučaju string.
 
Obrazloženje za izmjene u funkciji je da moja "sigurno neće raditi u novoj verziji Explorera" (btw. dolazi 2007.) i da je ovaj način siguran da se ne desi greška.
 

 

  Prije (Previous) Nastavak (Next)