Skip to content

Commit cff9888

Browse files
committed
Add developer documentation for PHPDoc
1 parent 58c0e9b commit cff9888

File tree

1 file changed

+81
-0
lines changed

1 file changed

+81
-0
lines changed

fr_FR/dev/php/phpdoc.md

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# Standards de Documentation PHP pour le Core Jeedom
2+
3+
## Règles Générales
4+
5+
1. **Langue**
6+
- Toute la documentation doit être rédigée en anglais
7+
- Cela inclut les descriptions de classes, de méthodes et de paramètres
8+
9+
2. **Portée de la Documentation**
10+
- La PHPDoc doit être concise et ne pas gêner la lisibilité du code
11+
- Se concentrer sur la documentation du comportement actuel et des types
12+
- Éviter les détails d'implémentation ou les explications trop longues
13+
14+
3. **Documentation des Classes**
15+
- Description brève de l'objectif de la classe (1-2 phrases)
16+
- Exemple simple d'utilisation si la classe est couramment utilisée par les développeurs de plugins
17+
- Références croisées vers les classes liées avec `@see` quand pertinent
18+
19+
4. **Documentation des Méthodes**
20+
- Description brève (1-2 phrases maximum)
21+
- Si le nom de la méthode est explicite, la description peut être omise
22+
- Documentation obligatoire de tous les paramètres et types de retour avec `@param` et `@return`
23+
- Documentation des exceptions avec `@throws` le cas échéant
24+
25+
5. **Documentation des Types**
26+
- Utiliser `@param` et `@return` pour les indications de type quand le typage strict n'est pas possible
27+
- Utiliser `@var` pour la documentation des types de propriétés quand nécessaire
28+
- Les types doivent refléter l'usage actuel, pas l'usage futur idéal
29+
- Pour les enums, utiliser la syntaxe union de littéraux :
30+
```php
31+
/** @var string 'stop'|'starting'|'run'|'stoping'|'error' */
32+
```
33+
34+
6. **Éléments Interdits**
35+
- Pas de TODOs ou d'éléments de roadmap
36+
- Pas de propositions d'évolution ou de changements futurs
37+
- Pas d'exemples de code longs (faire un lien vers la documentation développeur à la place)
38+
- Pas de détails d'implémentation ou de notes internes
39+
40+
7. **Exemples de Code**
41+
- Limités à un exemple court par classe quand nécessaire
42+
- Doivent être concis et démontrer uniquement l'usage basique
43+
- Les exemples complexes doivent être liés à la documentation développeur
44+
45+
8. **Liens et Références**
46+
- Utiliser `@link` pour référencer la documentation externe si nécessaire
47+
- Utiliser `@see` pour référencer les classes ou méthodes liées
48+
- Les liens doivent principalement pointer vers la documentation développeur Jeedom
49+
50+
## Format
51+
52+
```php
53+
/**
54+
* Brève description de la classe
55+
*
56+
* @see ClasseLiee Pour les fonctionnalités liées
57+
*/
58+
class Exemple {
59+
/**
60+
* Brève description de la méthode si nécessaire
61+
*
62+
* @param string $param Description du paramètre
63+
* @return void
64+
* @throws \Exception En cas d'échec
65+
*/
66+
public function methode($param) {
67+
}
68+
}
69+
```
70+
71+
## Bonnes Pratiques Supplémentaires
72+
73+
1. **Organisation du Code**
74+
- Les blocs PHPDoc doivent être bien alignés et formatés de manière cohérente
75+
- Maintenir une séparation claire entre les sections de code avec les commentaires standards de Jeedom
76+
- Utiliser les espaces de manière cohérente dans la documentation
77+
78+
2. **Maintenance**
79+
- Mettre à jour la documentation lors des modifications de code
80+
- Supprimer la documentation obsolète
81+
- Garder la documentation synchronisée avec le comportement réel du code

0 commit comments

Comments
 (0)