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.

Kapcsolódó bejegyzések:
  • Tipp, hogy lehet a Zend Studio-t gyorsítaniZend Studio felgyorsítása

  • A PHP5-ről linkekben..Az alábbi linkeken találtok néhány leírást a PHP5-ről (többségében angolul, de igyekszem fordítani az legérdekesebbeket.)Még …

  • Weben szörfözve gyakran látjuk, hogy milyen sok (vagy kevés) ember nézte már meg azt a weblapot, amit éppen megtekintünk, lévén az oldal készítője …

  • Sok gondot okozott, hogy a float-olt div -ek nem növelik FF alatt a konténer elem magasságát. Erre találtam egy egyszerű megoldást. Annyi a teendőnk, hogy a css- …

  • Többen is gondolkodnak azon, hogyan is lehetne gyorsan és megbízhatóan átirányítani az oldalukat más internetes címre. A leírás több módszert is bemutatA …

A cikket beküldte: TLoF (http://tlof.hu)

4 hozzászólás

  1. Kera says:
    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. Fefy says:

    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. mwx says:

    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. Fefy says:

    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…

Szólj hozzá
a Egyszerű tipp, az olvashatóbb kódért c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>