source: spip-zone/_plugins_/langonet/trunk/_REGLES_DE_COMMIT.txt @ 77221

Last change on this file since 77221 was 77221, checked in by denisb@…, 6 years ago

oupsss sur r77220

File size: 4.5 KB
Line 
1********************************************
2****  les règles de codage de LangOnet  ****
3********************************************
4
51- Concepts utilisés dans LongOnet
6----------------------------------
7
8Les règles de nommage définies dans ce fichier dérivent des concepts suivants :
9
10items de langue :
11        - couple associant un identifiant unique à un texte traduit dans une langue donnée.
12        - les items de langue sont des éléments d'un tableau associatif.
13
14raccourci :
15        - c'est l'identifiant unique d'un item de langue.
16        - est unique au sein d'un même module de langue.
17
18traduction :
19        - texte traduit de l'item de langue.
20
21module de langue :
22        - ensemble de raccourcis formant un tout cohérent.
23        - possède un identifiant unique comme ecrire, spip, public, langonet...
24
25code de langue :
26        - acronyme d'une langue.
27        - suit les normes ISO avec quelques distorsions.
28        - est de la forme : x, x_y, x_y_z où x,y et z possèdent de 2 à 4 caractères.
29
30fichier de langue :
31        - fichier PHP contenant les traductions d'un module de langue dans une langue donnée.
32        - définit les items de langue du module sous forme d'un tableau associatif.
33        - le tableau associatif est de la forme item[raccourci] = traduction.
34        - est situé dans le dossier lang/ de la racine d'un plugin.
35        - son nom est de la forme ${module}_${code_de_langue}.php
36
37occurrence d'utilisation d'un item de langue :
38        - expression autorisée d'un item de langue dans le code
39        - les formes autorisées sont répertoriées dans le fichier regexp.txt
40
41
422- Règles de nommage des variables
43----------------------------------
44
45Les règles qui suivent doivent être respectées afin d'assurer une
46cohérence et une compréhension commune du code.
47Pour chaque concept, il est indiqué le préfixe de la variable sachant que celle-ci
48peut être qualifiée par un suffixe adéquat.
49Une variable de clé ou valeur dans un foreach est repérée par un underscore
50entre le $ et le préfixe.
51
52Une variable est donc de la forme : $[_]prefixe[_suffixe].
53Si une variable est un tableau, son préfixe est au pluriel et le suffixe s'accorde si besoin.
54
55raccourci :
56        - préfixe  : raccourci
57        - exemples : $raccourci, $_raccourci, $raccourci_brut...
58
59traduction :
60        - préfixe  : traduction
61        - exemples : $traduction, $_traduction, $traduction_fr...
62
63module de langue :
64        - préfixe  : module
65        - exemples : $module, $_module, $module_fr...
66
67code de langue :
68        - préfixe  : langue
69        - exemples : $langue, $_langue, $langue_source, $langue_cible...
70
71fichier de langue :
72        - préfixe  : fichier
73        - exemples : $fichier, $_fichier, $fichiers, $fichier_source...
74
75occurrence d'utilisation d'un item de langue :
76        - préfixe  : occurrence
77        - exemples : $occurrence, $_occurrence, $occurrences, $occurences_regexp...
78        - note     : une occurrence est en général un tableau contenant divers éléments
79                     représentatifs (numéros de ligne, de colonne, item, expression fournie par la regexp...)
80
81
82En outre, d'autres règles génériques sont utilisées dans le code du plugin, à savoir :
83
84compteur d'éléments :
85        - préfixe  : nb_ (le suffixe représentant l'élément doit être au pluriel)
86        - exemples : $nb_occurrences, $_nb_elements...
87
88numéro d'élément :
89        - préfixe  : no_
90        - exemples : $no_ligne, $_no_colonne...
91
92chemin relatif à un fichier de langue :
93        - $ou_langue
94        - correspond par exemple à "plugins/auto/socialtags/v1.0.4/lang/"
95        - pour obtenir le chemin complet : _DIR_RACINE . $ou_langue
96
97arborescence de recherche des cas d'utilisation :
98        - $ou_fichier pour une arborescence unique et $ou_fichiers pour un tableau d'arborescences
99        - correspond par exemple à "plugins/minibando/"
100        - pour obtenir le chemin complet : _DIR_RACINE . $ou_fichier
101
102
1033- Règles de nommage des fonctions
104----------------------------------
105
106- le nom des fonctions doit contenir un verbe à l'infinitif pour expliquer le but
107- seules les fonctions dont la visibilité est externe (API) sont préfixées par "langonet_"
108  (par exemple celles de langonet_fonctions.php).
109  Cela ne concerne pas les fonctions de "personnalisation de SPIP" (pipeline, formulaire...)
110  qui suivent des règles propres.
111- les fonctions doivent renvoyer un résultat ; a minima : true/false.
112
113
1143- Règles de nommage des constantes
115-----------------------------------
116
117- les constantes doivent être nommées avec le préfixe "_LANGONET_".
118- leur définition doit être prioritairement locale à un fichier afin d'éviter la création d'un
119  fichier langonet_options.php.
120- la définition d'une constante doit être précédée d'un test : if (!defined('nom de la constante')) define('nom de la constante', 'valeur');
Note: See TracBrowser for help on using the repository browser.