[SPIP Zone] Règles des bonnes écriture pour SPIP : espaces, opérateurs, etc..

Salut la liste,

voici quelques éléments observés dans le code de SPIP :

  • les opérateurs « and », et « or » sont écrits en majuscule (comme les constantes) :
    if ($x AND $y) {…

  • Ils sont d’ailleurs utilisés à la place du ‹ || › et ‹ && › (meilleur lisibilité)

  • L’opérateur de négation (caractère ‹ ! ›) est collé à l’opérande
    if (!preg_match(",^(-?)(\d+)\W(\w+)(\W(\d+))?$,", $arg, $r))

  • Les autres opérateurs ont deux espaces de chaque côté la plupart du temps
    (c’est variable avec l’opérateur d’affectation et de comparaison)
    if ($type == ‹ rubrique ›) {

  • l’opérateur ternaire n’a pas d’espace la plupart du temps, mais parfois oui (ce qui serait mieux à mon avis)
    $typdoc = sql_in(‹ docs.extension ›, array(‹ gif ›, ‹ jpg ›, ‹ png ›), $sign ? ‹  › : ‹ NOT ›);

  • l’opérateur de concaténation de chaine non plus, sauf s’il est en fin (ou en début) de ligne
    sql_updateq(« spip_documents », array(‹ id_vignette › => 0), « id_vignette= ».$id_document);

  • Pour les chaines longues découpées avec cet opérateur, l’opérateur est le plus souvent en fin de ligne

  • Idem pour la virgule, pour les tableaux qui ne tiennent pas sur une ligne (cf. fichiers de langue)

  • Les parenthèses n’ont pas d’espace autour

Vous validez ces quelques règles comme recommandations acceptables ?

.Gilles VINCENT

Le 06/05/10 23:26, Gilles VINCENT a écrit :

- les opérateurs "and", et "or" sont écrits en majuscule (comme les
constantes) :
   if ($x AND $y) {...
- Ils sont d'ailleurs utilisés à la place du '||' et '&&' (meilleur
lisibilité)

hum...
pas tout à fait.

c'est du b.a. ba ça :
   var_dump(0 and 0 || 1); // FALSE : 0 and (0 || 1)
   var_dump(0 && 0 || 1); // TRUE : (0 && 0) || 1

2010/5/7 denisb <denisb@laposte.net>

Le 06/05/10 23:26, Gilles VINCENT a écrit :

  • les opérateurs « and », et « or » sont écrits en majuscule (comme les
    constantes) :
    if ($x AND $y) {…
  • Ils sont d’ailleurs utilisés à la place du ‹ || › et ‹ && › (meilleur
    lisibilité)

hum…
pas tout à fait.

c’est du b.a. ba ça :
var_dump(0 and 0 || 1); // FALSE : 0 and (0 || 1)
var_dump(0 && 0 || 1); // TRUE : (0 && 0) || 1

Je sais très bien.
Mais les expressions ne mélangent pas les deux types d’opérateurs.

Même s’il a une priorité moindre, l’opérateur ‹ and › (ou AND) est plus lisible que ‹ && ›
(surtout en cas de suite de AND et OR :wink:


spip-zone@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone

Le 07/05/2010 00:41, Gilles VINCENT a écrit :

l'opérateur 'and' (ou AND) est plus lisible que '&&'

<troll>Et le BASIC est plus lisible que le PHP !</troll>
Pat