Egyszerű tipp, az olvashatóbb kódért

Használj tiszta, egyszerű feltételeket.

1
2
3
4
5
6
7
8
9
10
<?php
if($userLoggedIn) 
{
   // Sok száz kódsor
}
else
{
   exit();
}
?>

Ez ha elég sok sort írsz a feltételbe, és nem túl jól tördeled hosszú perceket fog igénybe venni mire megtalálod, hogy mi történik akkor, ha nincs belépve a felhasználó.

1
2
3
4
5
6
7
8
9
10
<?php
 
if(!$userLoggedIn) 
{
    exit();
}
 
// Sok száz kódsor
 
?>

A maradék 2 tippért olvassátok át a Zend Devzone cikkét, de alapvetően a DB layerek és a Template rendszerek korában az a két tipp nem állja meg a helyét.

4 HOZZÁSZÓLÁS

  1. 1
    2
    3
    4
    5
    6
    7
    8
    9
    
    echo "hello";
    echo "hello";
    echo "hello";
     
    //de kezdjünk csak gondolkozni... mi volna ha:
     
    for($i=0;$i&lt;3;$i++){
      echo "hello";
    }

    nagyszerű, hogy 100x kell megpróbálni leírni valamit ebbe a vacakba, legalább úgy működne normálisan ahogy le van írva, bocs nem akartam megbántani senkit, de azért… hát jah

  2. Kera: szerintem amit írtál az inkább kötekedés, ugyanis nem arra akart rávilágítani TLoF, hogy hogyan kell if feltételt csinálni, hanem arra, hogy logikusan építsd fel a feltételt (vagy akár az egész programot).
    Tehát ha a fenti példából indulunk ki, akkor a logikus felépítés annyit jelent, hogy ha valamint el lehet intézni 3 sorban, akkor ne akard 5-ben megcsinálni, mert átláthatatlan lesz a kód. Ha jobban megnézed, akkor az látszódik is, hogy ha nem azt vizsgálod, hogy a felhasználó be van-e lépve, hanem azt, hogy ha nincs (tehát: !$loggedin, 2. példa), akkor az if feltételed sokkal rövidebb lesz, valamint nem lesz „else” ága, ami miatt áttekinthetőbb.

    Természtesen nem lehet mindig ilyen könnyen elintézni a dolgokat, mert van olyan amikor mindkét fele az if-nek egyforma hosszú és egyik fele sem hagyható el trükközésekkel.

    A fentiek alapján tehát nem hinném, hogy meg kellene szólni az írást, mert ez alapvetően azoknak készült, akik ismerkednem a programozással és sok esetben az első variációt választják, mivel egy 50-60 soros kódban még egyszerű eligazodni és így nem bosszantja őket, hogy egy feltétel 4-500 soros, amikor lehetne 3 soros is.

  3. Látszik, hogy Kera nem írt még nagyobb kódot, amit karban kellett volna tartania, vagy továbbfejlesztenie hónapokkal vagy évekkel később. A fenti tippben leírtakat már én is alkalmazom egy ideje és valóban átláthatóbb tőle a kód. Ugyanez a módszer kiválóan alkalmazható ciklusokban is. Itt egy Java példa (nem áll rá a kezem a PHP-ra :)

    1
    2
    3
    4
    5
    6
    7
    8
    
    for(int i = 0; i &lt; userSettings.length; i++) {
      if (!userSettings[i].isEnabled()) {
        continue;
      }
     
      // Sok száz kódsor
     
    }

    Egyébként azzal nem értek egyet, hogy legyen minél rövidebb a programkód. Nem biztos, hogy az a legolvashatóbb.

  4. Abban igazad van, hogy nem mindig a legrövidebb a legjobb olvashatóság szempontjából, de azért érdmes törekedni rá, hogy lehetőleg minnél rövidebb legyen, természetesen az olvashatóságot, későbbi bővítéseket szem előtt tartva…
    Habár az is igaz, hogy az olvashatóság mindenkinek mást jelent, így a fentiekre csak tippként kell tekinteni, viszont aki most ismerkedik a programozás örömeivel, az inkább a fentiek alapján tanuljon meg kódot írni, mert később könnyebb dolga lesz…

HOZZÁSZÓLOK A CIKKHEZ

Kérjük, írja be véleményét!
írja be ide nevét