Tema: Re: Klausima del IF sintakses
Autorius: Tyro
Data: 2010-03-16 11:49:27
Dekui uz patarimus ;) Meginsiu tuo vadovautis :)
-- 
Tyro

Peugeot 605
RC offraod, fun-fly
"Jornada Del Muerto" <ask@me.email> wrote in message 
news:hng33f$l9m$1@trimpas.omnitel.net...
> JS'e kas rase tai rase taip vadinamam poor readable stiliuje, cia is 
> serijos:
>
> if(a==1)
>    while (...... ir eina kokia 10 eiluciu ar dar koks if be skliaustu 
> vel...
>
> Nors tu ne i ka geresni pavertei, po kurio laiko kai reiks koreguot 
> valanda po to galvosi ka cia parases... pasiskaityg "Code style guide" 
> kokiu kaip rasomas kodas turi but kad jis but aiskus ir po 5 metu nesukant 
> daug galvos, galiu keleta patarimu duot:
>
>
> 1. If salyga
>
> Blogai:
>
> if ( a == 1 ) return true;
>
>    Tai yra pats blogiausias iprotis bet kokio c++ family kalboje, dalykas 
> toks kad jei noresi pradebugint kada vyksta sios salygos true, bus keblu, 
> o kada if ir return yra skirtingose eilutese eina konkreciai ant return 
> uzdet breakpoint'a, kas del PHP tai ner problemos debuggint ir ji (pvz su 
> PHPEdit)
>
>
> Pakenciamai:
>
> if ( a == 1 )
>    return true;
>
>    Minusa sis variantas turi vistiek, jei veliau prisirasys daugiau kodo i 
> salyga del neturejimo iprocio deti visada skliaustus teks juos darasineti 
> kas blasko tavo pacio logika kai sprendi kazkokia biznio logikos problema 
> ir rezultate issiblaskes darai daugiau bugu, tai tiesiog iprotis dirbt 
> netvarkingai kuri reiketu isgyvendint, jei veliau kodas pleciasi pamirsti 
> pridet skliaustus jis darosi sunkiai iskaitomas.
>
> 1.3 Gerai:
>
> if ( a == 1 )
> {
>    return true;
> }
>
>    Sis kodas yra aiskus ir galima plest bei tobulint sia logika 
> negalvojant apie kodo tvarkyma, tuo paciu bet kam aisku kas cia, geriausia 
> negailet nauju eiluciu ir IF ELSE END IF konstrukcijas rasyti aiskias, 
> pvz:
>
>
> Kas del "IIFiniu" konstrukciju kaip a = (condition ? true result : false 
> result ) geriausia laikytis tvarkos ir visada tokia salyga apskliaust, 
> siuo atveju negailejimas skliaustu daro aiskesne logika, tuo paciu kartais 
> isvengiama ir bugu.
>
> Stage 1: Tavo koda jei graziai parasius butu:
>
> if ( v=='show' ) {
>    v='visible';
> }
> else {
>    if(v='hide')  {
>        v='hidden';
>    else {
>        v=v;
>        }
>    }
> }
>
> Stage 2: Jeigu ji optimizavus butu:
>
> if ( v=='show' ) {
>    v='visible';
> }
> else if(v='hide') {
>        v='hidden';
> }
>
> // ELSE realiai nereikalingas nes v ir taip lygi v ;) parasiau tik tam 
> kaip tai turi atrodyt kas del stiliaus
> else {
>     v=v;
> }
>
> Stage 3: Taisykle vengt daugiau kaip 2 IF ELSE IF ELSE jei to tikrai 
> nereik, ta prasme, cia puikiai tinka switch:
>
> switch(v)
> {
>    case 'show':
>        v = 'visible';
>        break;
>
>    case 'hide':
>        v = 'hidden';
>        break;
>
>        // sis elementas useless
>    default:
>        v = v;
>        break;
> }
>
> Darydamas sudetingas logikos israiskas, tik pats sau apsukini velesni 
> gyvenima, jei veliau tau ar kam nors kitam teks tai taisyt, tai ausys 
> raudonuos kaip jis tave keiks :)
>
>
>
>
>
>
> "Tyro" <tyro@xxx.lt> wrote in message 
> news:hmo7km$6cs$1@trimpas.omnitel.net...
>> jau issprendziau, tiksliau perrrasiau:
>>  if(v=='show') {v='visible';}
>>    else {
>>     if(v='hide') v='hidden'; else v=v;
>>    }
>>
>> :)
>> -- 
>> Tyro
>>
>> Peugeot 605
>> RC offraod, fun-fly
>> "Tyro" <tyro@xxx.lt> wrote in message
>> news:hmo7ar$5tq$1@trimpas.omnitel.net...
>>> Sveiki, kaip butu galima perrasyti sia if salyta standartiskai? Ji seip
>>> parasyta JS, bet skirtumo neturetu nuo php buti.
>>>
>>> v=(v=='show')?'visible':(v='hide')?'hidden':v;
>>>
>>> meginau parasyti sekanciai, bet nesuveikia
>>>    if(v=='show') {v='visible';}
>>>    else {
>>>     if(v=='hide') v='hidden'; else v=v;
>>>    }
>>>
>>> Is anksto dekui
>>> -- 
>>> Tyro
>>>
>>> Peugeot 605
>>> RC offraod, fun-fly
>>>
>>
>>