Règles d'écriture de CODE  Début

  • (Transcription de http://doc.polytechnique.org/CodingRules/)

    Les règles d'écritures de code sont très inspirées des règles PEAR qui sont assez raisonables

    Indentation de 4 espaces, sans tabulations. (vim:set et sw=4 sts=4 ts=4)

    Ceci concerne les structures if/elseif/else, for, while, switch, ...
    • Il faut utiliser les accolades, même lorsqu'elles sont optionnelles.
    • Il faut ajouter un espace entre le mot clef et les parenthèses ouvrantes qui le suivent.
    • Les tabulations doivent être proscrites


    Indentation

    Code

    <?php
    if ((condition1) || (condition2)) {
        action1;
    } elseif ((condition3) && (condition4)) {
        action2;
    } else {
        defaultaction;
    }
    ?>


    Structures de Contrôle

    Code

    <?php
    switch (condition) {
        case 1:
            action1;
            break;

        case 2:
            action2;
            break;

        default:
            defaultaction;
            break;
    }
    ?>


    Les fonctions doivent être appelées :
    • avec aucun espace entre le nom de fonction et la parenthès ouvrante qui suit;
    • avec des espaces après chaque virgule qui séparent les paramètres;
    • sans espace entre le dernier paramètre et le dernier argument, la parenthèse, et le point virgule qui suit.
    • en cas d'assignation, il faut ajouter au moins un espace de chaque coté du signe =
    • en cas d'assignations par bloc, il est conseillé d'aligner les symboles =


    Appels de fonction

    Code

    <?php
    // Exemple 1 : assignation simple :
    $var = foo($bar, $baz, $quux);

    // Exemple 2 : assignation par bloc :
    $short         = foo($bar, $baz);
    $long_variable = foo($bar, $quux);
    ?>


    • Il faut utiliser la convention « one true brace » (passer la première accolade à la ligne).
    • Les arguments avec des valeurs par défaut doivent être en dernier dans la liste des arguments.
    • Penser à retourner une valeur à chaque fois que cela a du sens, sinon true.

    Code

    <?php
    function fooFunction($arg1, $arg2 = '')
    {
        if (condition) {
            statement;
        }
        return $val;
    }
    ?>


    Déclaration de fonction

    Code

    <?php
    function connect(&$dsn, $persistent = false)
    {
        if (is_array($dsn)) {
            $dsninfo = &$dsn;
        } else {
            $dsninfo = DB::parseDSN($dsn);
        }

        if (!$dsninfo || !$dsninfo['phptype']) {
            return $this->raiseError();
        }

        return true;
    }
    ?>


    Commentaires
    • Les commentaires par bloc /* ... */ et les commentaires lignes // ... sont OK.
    • Les commentaires de type shell/perl # ... sont à proscrire (sauf pour mettre un # TODO/XXX/FIXME).


    Inclure du code
    • Ne jamais utiliser require ou include mais les fonctions require_once et include_once.
    • N'utiliser include_once que dans les cas où tout manque de fichier inclus n'est pas critique.


    PHP Tags
    • Toujours utiliser les tags longs : .


    Contenu des fichiers
    • Toujours inclure dans les fichiers l'entete GPL.







    Chestnut !
    Administrateur
    Aucun Support par message privé...
    Même en cas de pensée suicidaire !
    Règles à suivre
  • 5 visiteurs

Données pour les 20 dernières minutes