Pascal – Úhlednost kódu

Pokud programujete v jakémkoliv programovacím jazyce, je potřeba dodržovat jistá pravidla úhlednosti. Berte na vědomí, že čím ten kód bude přehlednější, tím snáz se v něm vyznáte a v případě chyby ji i velmi rychle objevíte.  Pište své zdrojové kódy tak, aby s nimi mohl pracovat snadno i někdo další.

Představte si 500 řádků kódu jen podmínek, při neúhlednosti kódu se snadno ztratíte při hledání chyby. Stává se, že během psaní podmínek například zapomene zakončit (end;). Když toto uděláte víckrát v kódu a váš kód vás v případě chyby bude odkazovat na úplný konec programu (end.), tak budete muset vaši chybu hledat sami, proč kód nejde zkompilovat. Nebuďte líní a pracujte i na vzhledu kódu, protože jestli budete chtít pracovat s většími projekty a delšími zdrojovými kódy, tak na toto si budete muset zvyknout.

Ukázka špatné úhlednosti podmínky:

if a = 1 then begin writeln('Prvni volba');
readln();
else if a = 2 then writeln('Druha volba');
readln();
else if a = 3 then writeln('Treti volba');
readln();
else writeln('ELSE volba');
readln();
end;

V tomto kódu je velice snadné, že uděláte chybu. Program nezrychlíte tím, že snížíte počet řádků kódu. Program zrychlíte úpravami kódu aby pracoval jednoduše. Snažte se udržovat přehlednost kódu, protože tohle není můj výmysl. Takto to je, a takto se to dělá. Ukáži tedy ukázku jak bych si představoval, že by to mělo vypadat.

if a = 1 then
 begin
      writeln('Prvni volba');
      readln();
 end
else if a = 2 then
 begin
      writeln('Druha volba');
      readln();
 end
else if a = 3 then
 begin
      writeln('Treti volba');
      readln();
 end
else
 begin
      writeln('ELSE volba');
      readln();
 end;

Myslím, že v tomto se bude hledat syntaktická chyba snadno.


ÚHLEDNÝ KÓD

program porovnaniCisel;

var cislo1,cislo2,cislo3:integer;

begin
   writeln('Zadejte tri cela cisla oddelena mezerou a potvrdte vstup Enterem');
   readln(cislo1,cislo2,cislo3);

   if (cislo1 > cislo2) then
    begin
       if (cislo1 > cislo3) then
        begin
          writeln('Vami zadane cislo ',cislo1,' je nejvyssi');
        end
       else
        begin
          writeln('Vami zadane cislo ',cislo3,' je nejvyssi');
        end;
    end
   else 
    begin
       if (cislo3 > cislo2) then
        begin
          writeln('Vami zadane cislo ',cislo3,' je nejvyssi');
        end
       else
        begin
          writeln('Vami zadane cislo ',cislo2,' je nejvyssi');
        end;
    end;
readln();   
end.

Takto tedy musí vaše kódy vypadat, aby byly srozumitelné pro ostatní. Udržujte odřádkování a ve všem se bude chyba hledat snadno.

Příspěvek byl publikován v rubrice Pascal se štítky , , , , , , , . Můžete si uložit jeho odkaz mezi své oblíbené záložky.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Můžete používat následující HTML značky a atributy: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>