Médiacad suit les conventions de codage du Zend_Framework 1.12. Une version de ces conventions est disponible dans les sources en format pdf (/dev/developpers/CodingStandard.pdf).
Tous les noms (variables, classes, méthodes, propriétés, fonctions, constantes...) sont en anglais (éviter le franglais), même si c'est parfois de l'anglais de cuisine ;o).
Les noms doivent être assez explicites, quitte à les rallonger. Par exemple, le tableau de résultat d'une requête sur school_user sera nommé $schoolUserRowset plutôt que $result.
Les variables contenant des objets portent le nom complet de l'objet (par exemple, $appModelSchoolUser, $zendTranslate...).
Aucune configuration codée en dur. Toutes les configurations se trouvent dans /application/configs/ pour les configurations de l'application susceptibles de changer lors de mises à jour (liste des disciplines, des langues...), et dans /local/configs/ pour celles liées à l'instance (codes d'accès à la base de données...).
Les configs sont sont
sous forme d'array pour les configs chargées à chaque page afin d'alléger la charge serveur ; leur nom est de la forme [nomConfig].cfg.array.php ;
sous forme de fichier XML pour les configs mises en cache en production ; leur nom est de la forme [nomConfig].cfg.xml ;
Aucun code ne doit être dupliqué (principe DRY = Don't Repeat Yourself). Tout code dupliqué doit être déplacé soit dans une classe dédiée (classe Application_Library_Media par exemple), soit dans un actionHelper, un viewHelper ou un frontControllerPlugin.
Aucune modification des libraries externes, mais extension des classes (dans /application/library/). Les classes utilisées souvent (Zend_Form, Zend_Translate...) sont étendues par défaut même si aucune modification n'est apportée dans un premier temps.
Aucune chaîne de caractère de vue codée en dur : l'application est internationalisée, avec des fichiers TMX (dans /application/languages/). Voir la documentation complémentaire sur les traductions.
Créé avec HelpNDoc Personal Edition: Créer des livres électroniques facilement