Blog

Scrivere bene codice PHP (e non solo)

Dovete sapere che scrivere codice corretto non basta, bisogna anche scriverlo bene! Vi è mai capitato di scrivere del codice e di rileggerlo dopo qualche mese? Con molta probabilità perderete un po' di tempo per capirlo e seguire il flusso del programma.

Commenti

Per ricordarsi la funzione di alcuni pezzi di codice sono necessari i commenti prima ogni blocco "critico" del nostro codice. Ma anche quest'ultimi vanno fatti bene!

// stampo la data corrente

echo date('r', time());

Ma non così:

echo date('r', time()); // stampo la data corrente

Il commento va quindi prima della istruzione o del blocco descritto. Immaginate una riga piuttosto lunga, nella peggiore delle ipotesi il commento sarò completamente nascosto e dovrete scorre in orizzontale il codice.

Indentazione

Un'altra abitudine che è bene prendere è l'indentazione del codice. Questo per capire meglio i cicli e le altre strutture tipiche.

Come vi trovate a capire questo?

function matrix($x, $y){

for($i=0;$i<=$x;$i++){

for($m=0;$m<=$y;$m++)

echo '['.$i.']['.$m.']<br />';

echo '---';

}

return true;

}

Ok, è semplice, ma come lo vedete così?

function matrix($x, $y){

    for($i=0;$i>=$x;$i++)

    {

        for($m=0;$m>=$y;$m++)

            echo '['.$i.']['.$m.']<br />';

        echo '---';

    }

    return true;

}

Meglio, vero?
Ogni blocco e istruzione di un ciclo va, per convenzione, indentata di 4 spazi o talvolta di una tabulazione (tasto TAB).

Nomi di variabili

I nomi delle variabili devono avere un senso logico. Ma allo stesso tempo non possono essere lunghissime.

Questo è un esempio sbagliato:

$t = time();

Mentre questo è l'esempio corretto:

$current_time = time();


Spazio tra operatori

Un'altra buona abitudine è quella di mettere gil spazi tra gli operatori:

$var = $pippo / $pluto + ($topolino * 3)

Invece che:

$var = $pippo/$pluto+($topolino*3)

Lo stesso discorso vale con gli operatori di confronto:

if( $variabile == false ) { /* istruzioni */ }


Evitare variabili inutili

Quando occorre fare un confronto di un valore di ritorno di una funzione perché memorizzarlo in una variabile e successivamente confrontare la variabile? Una funzione può essere confrontata come una semplice variabile, infatti entrambi danno come risultato un left-value.

Esempio:

if( funzione() == false ) { /* istruzioni */ }

Invece di:

$var = funzione();

if( $var == false ) { /* istruzioni */ }


Anche perché a meno di usare la funzione built-in uset() il ritorno della funzione rimarrà in memoria fino alla fine dello script occupando inutilmente memoria.

In conclusione...

...basta non essere criptici ed essere eleganti nella stesura del codice, il che vuol dire anche maggiore comprensione!

Anche un editor più fare la differenza, a tal scopo vi consiglio Notepad++, Gedit per GNU/Linux in ambiente Gnome oppure KWrite per l'ambiente KDE.

Articoli correlati

DIASPORA* Facebook

Pubblicato il 6 ottobre 2008 da e letto 1911 volte.

Link di trackback

Abbonati al feed RSS. Se non sai cos'è guarda qui.

Abbonati alla newsletter per ricevere via email ogni nuovo articolo pubblicato. L'indirizzo verrà gestito da FeedBurner.

Dai il tuo parere: Commenta questo articolo!
4 commenti su Scrivere bene codice PHP (e non solo)
  1. Skyline dice:

    Io invece consiglio di scrivere un codice sempre uguale, non come hai mostrato tu, intendo di fare così

    function (){

    }

    for(){

    }

    if(){

    }

    class{

    }

    ecc

    martedì, 14 ottobre 2008 alle 8:26
  2. Max dice:

    Condivido, Daniele! Ottimo anche Notepad++ che uso con grande utilità da tempo.
    Bye!

    martedì, 14 ottobre 2008 alle 23:06
  3. DnaX dice:

    @Skyline: Lì sono scuole di pensiero, per me è più comodo fare così:

    if()
    {

    }

    Gli altri esempi con istruzioni e graffe tutte di seguito sono solo a scopo di esempio per focalizzarsi sugli altri aspetti trattati.

    martedì, 14 ottobre 2008 alle 23:47
  4. Skyline dice:

    Si ma ci sono delle specifiche da seguire :) perchè inventarle?

    mercoledì, 15 ottobre 2008 alle 10:12
Lascia un commento

CC BY-NC-SA 3.0 2004-2012 Daniele Napolitano — Per informazioni sulla licenza leggere le Note legali
Torna su