algoritmus

Papp Zoltán zombi at c2.hu
Sat Dec 2 15:25:42 CET 2006


2006.12.02. 01:30:33 dátumon Moczik Gabor <pm at progzmaster.hu> írta:

> Ugyanilyen olvashatosagi kerdes az is, hogy a { } jeleket hova es hogyan
> rakod. Pl., szerintem tok idiota megoldas, ha
> if (feltetel)
>    {
>       valami
>    }
>
> if (feltetel)
>    {
>       if (feltetel2)
>          {
>             valami2
>          }
>    }
>
> format hasznaljak. A { } jel eleve nem jelent egy kulon beagyazasi  
> szintet,
> tovabba ha talalsz egy } jelet, nem az azonos oszlopban kell kutatni ha a
> hozza valo if-et meg akarod talalni, hanem 1-el kijjebb. Latszolag
> ossze-vissza bedobalt kapcsos zarojelek az utasitasok kozott.
>
> en igy szoktam:
>
> if (feltetel) {
>      if (feltetel2) {
>          valami
>      }
> } else {
>      if (feltetel2) {
>          masvalami
>      }
> }
>
> switch(x) {
>      case 1  :...
>               break;
>      case 2  :...
>               break;
>      default :...
> }

Hát nekem meg pont ez utóbbi az olvashatatlanabb, persze lehet, hogy csak  
azért, mert én pascalban programoztam előbb, és ott a begin-end páros egy  
vonalba került. Én az elsőt használom pici módosítással:

if (feltetel)
{
   valami
}

if (feltetel)
{
   if (feltetel2)
   {
     valami2
   }
}

Így egyértelműen látom, hogy melyik két kapcsos-zárójel képez egy blokkot.  
Az igaz, hogy hosszabb a forráskód, de nem olyan széles :-) ! És egzakt  
abból a szempontból, hogy a következő blokk mindig egy egységgel beljebb  
van.

> valtozo deklaracio sokkal olvashatobb ha a tipus es a valtozo neve  
> oszlopra
> igazitva van, pl.:
>
> int             i,j,k;
> unsigned char   tmp;
> struct TDevice  device1;

Ez igaz, csak ha bejön pl egy:
   volatile __regvar __no_init unsigned char x @ 14;
és feljebb már van 30 sor deklaráció, akkor újra igazítod mindet?

> Amugy erdemes a linux kernel kodolasi stilus ajanlasat elolvasni,  
> szerintem
> jo dolgokat tartalmaz.

Hát ha már ajánlás, akkor olvassuk már el a GNU ajánlását:
http://www.gnu.org/prep/standards/standards.html#Formatting

Hát ilyenek az ajánlások, valaki folyton nem követi őket...

> Teljesen egyetertek, erdemes megfogadni masnak is!
> Neha en is addig optimalizalom a kodot, hogy 2 ev mulva mar ranezesre
> nehezen hamozhato ki, mikor milyen adatra milyen feltetel teljesul. Volt  
> mar
> ra pelda hogy ujrairtam a kodot emiatt, mert nem sikerult megfeleloen
> modositani.

Ráadásul nem is a kódot optimalizálod, hanem csak a forráskódot. Ma meg  
már hol számít, hogy a forráskód mondjuk
100kbyte, 120kbyte vagy 1Mbyte? Viszont ha olvashatóbb, az mennyivel  
kényelmesebb.



-- 
Papp Zoltán
OneWay Electronics



More information about the Elektro mailing list