dams Fri Mar 30 00:51:52 2001 EDT Added files: /phpdoc/fr/pear standards.xml Log: Added PEAR and translated.
Index: phpdoc/fr/pear/standards.xml +++ phpdoc/fr/pear/standards.xml <chapter id="pear.standards"> <title>Style de codage PEAR</title> <sect1 id="pear.standards.indenting"> <title>Indenting</title> <para> Utilisez une indentation de 4 espaces, mais pas de tabulations. Si vous utilisez Emacs pour éditer du code PEAR, pensez à mettre indent-tabs-mode à nil. Voici un exemple de hook qui va configurer Emacs suivant ces conseils (you devez vous assurer qu'il sera appelé avant l'édition des fichiers PHP) : <programlisting role="elisp"> (defun php-mode-hook () (setq tab-width 4 c-basic-offset 4 c-hanging-comment-ender-p nil indent-tabs-mode nil)) </programlisting> </para> <para> Voici quelques règles pour vim : <programlisting role="vim"> set expandtab set shiftwidth=4 set tabstop=4 </programlisting> </para> </sect1> <sect1 id="pear.standards.control"> <title>Structures de contrôle</title> <para> Cela couvre if, for, while, switch, etc... Voici un exemple de condition if, (c'est une des plus compliquées) : <programlisting role="php"> if ((condition1) || (condition2)) { action1; } elseif ((condition3) && (condition4)) { action2; } else { defaultaction; } </programlisting> </para> <simpara> Les structures de contrôle doivent être suivi d'un espace et d'une parenthèse ouvrante, pour les distinguer des appels de fonctions. </simpara> <simpara> Il est vivement recommandé d'utiliser les accolades en toutes occasions, même lorsqu'elles sont techniquement optionnelles. Cela améliore nettement la lisibilité, et réduit la probabilité d'erreurs lorsque de nouvelles lignes sont ajoutées. </simpara> <para> Boucle For, switch: <programlisting role="php"> switch (condition) { case 1: action1; break; case 2: action2; break; default: defaultaction; break; } </programlisting> </para> </sect1> <sect1 id="pear.standards.funcalls"> <title>Function Calls</title> <para> Les fonctions doivent être appelées sans espaces entre le nom de la fonction, la parenthèse ouvrante et le premier argument; il faut place un espace entre chaque argument et la virgule de séparation, mais pas d'espace entre le dernier argument, la parenthèse fermante et le point-virgule. Voici un exemple : <programlisting role="php"> $var = foo($bar, $baz, $quux); </programlisting> </para> <para> Comme illustré ci-dessus, il faut un espace autour des signes égal lorsqu'il est utilisé dans une assignation de variable. Dans le cas d'assignement en bloc, plusieurs espaces peuvent être introduit pour améliorer la lisibilité. <programlisting role="php"> $short = foo($bar); $long_variable = foo($baz); </programlisting> </para> </sect1> <sect1 id="pear.standards.funcdef"> <title>Function Definitions</title> <para> Les déclarations de fonction suivent la convention "one TRUE brace" (une seule accolade véritable) : <programlisting role="php"> function fooFunction($arg1, $arg2 = '') { if (condition) { statement; } return $val; } </programlisting> </para> <para> Les arguments ayant une valeur par défaut doivent aller à la fin de la liste des arguments. Essayez de retourner une valeur utile de vos fonctions, dès que c'est le cas. Voici un exemple : <programlisting role="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; } </programlisting> </para> </sect1> <sect1 id="pear.standards.comments"> <title>Commentaires</title> <para> La documentation du code doit suivre les conventions de PHPDoc, similaire à Javadoc. Plus d'informations sur PHPDoc sont disponibles ici : <ulink url="&url.phpdoc;">&url.phpdoc;</ulink>. </para> <para> Les commentaires hors documentation sont vivement conseillés. En règle généaral, si vous voyez une portion de code et que vous pensez "Houla!, je n'ai pas envie de tester ça", vous devez la commentez avant d'oublier ce qu'elle fait. </para> <para> Les commentaires de style C (/* */) et standard C++ (// ) sont bien tous les deux. Les autres styles (notamment Perl et shell (# )) sont déconseillés. </para> </sect1> <sect1 id="pear.standards.including"> <title>Inclusion de Code</title> <para> A chaque fois que vous incluez inconditionnellement une classe, utilisez la fonction <function>require_once</function>. A chaque fois que vous incluez conditionnellement une classe, utilisez la fonction <function>include_once</function>. Ces deux fonctions s'assureront que les classes ne sont déclarées qu'une seule fois. Elles partagent la même liste de fichier, ce qui permet leur utilisation sans gêne. Un fichier inclus par <function>require_once</function> ne sera pas inclus encore une fois avec <function>include_once</function>. <note> <simpara> <function>include_once</function> et <function>require_once</function> sont des commandes, et pas des fonctions. Vous n'êtes pas obligés d'utiliser des parenthèses autour des noms de fichiers. </simpara> </note> </para> </sect1> <sect1 id="pear.standards.tags"> <title>Balises de code PHP</title> <para> Utilisez <emphasis>toujours</emphasis> la syntaxe <literal><?php ?></literal> pour délimiter du code PHP, et jamais <literal><? ?></literal>. Ceci est nécessaire pour la compatibilité du code PEAR et c'est la version la plus portable du code PHP sur les différents systèmes d'exploitation. </para> </sect1> <sect1 id="pear.standards.header"> <title>Entête de fichier</title> <para> Tous les codes sources des distributions PEAR doivent contenir les commentaires suivants comme entête : <programlisting role="php"> /* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | PHP version 4.0 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is | // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | [EMAIL PROTECTED] so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Original Author <[EMAIL PROTECTED]> | // | Your Name <[EMAIL PROTECTED]> | // +----------------------------------------------------------------------+ // // $Id$ </programlisting> </para> <para> Il n'y a pas de règle fixe pour déterminer à quel moment un contributeur doit être ajouté dans la liste des auteurs d'un fichier source. En général, les modifications doivent être substancielle (environs 10 à 20% du code initial). Des dérogations peuvent être données pour les réécritures complètes de fonctions, ou les contributions à de nouvelles logiques d'utilisation. </para> <para> La simple réorganisation de code ou les corrections de bug ne justifie pas l'ajout d'un contributeur dans la liste des auteurs. </para> <para> Les fichiers qui ne font pas partie de la bibliothèque de base PEAR doivent avoir un bloc comparable à celui cité ci-dessus, indiquant le copyright, la licence et les auteurs. Tous les fichiers devraient inclure une description du modèle suivi, pour améliorer la cohérence de l'ensemble. </para> </sect1> <sect1 id="pear.standards.cvstags"> <title>CVS Tags</title> <para> Ajoutez le signe $Id$ (CVS vendor tag) dans chaque fichier. Dans chaque fichier que vous éditez, pensez à l'ajouter s'il n'est pas présent (ou remplacez les anciennes valeurs telles que "Last Modified:", etc.). <note> <simpara> Nous avons une marque $Horde dans le CVS Horde pour suivre nos versions séparément. Nous pouvons faire la même chose avec une marque $PEAR, qui resterait même si les fichiers PEAR migrent sur un autre système de suivi de version. </simpara> </note> </para> </sect1> <sect1 id="pear.standards.exampleurls"> <title>URL d'example</title> <para> Utilisez "example.com" pour tous les exemples, comme spécifié dans la RFC 2606. </para> </sect1> <sect1 id="pear.standards.constants"> <title>Noms des constantes</title> <para> Les constantes doivent toujours être en majuscule, les mots étant séparés par des soulignés (_). Préfixez les constantes avec le nom de la classe ou du package dont elles font parties. Par exemple, les constantes utilisées dans le package <literal>DB::</literal> commencent toutes par "<literal>DB_</literal>". </para> </sect1> </chapter> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->