-
Langue
- Toute la documentation doit être rédigée en anglais
- Cela inclut les descriptions de classes, de méthodes et de paramètres
-
Portée de la Documentation
- La PHPDoc doit être concise et ne pas gêner la lisibilité du code
- Se concentrer sur la documentation du comportement actuel et des types
- Éviter les détails d'implémentation ou les explications trop longues
-
Documentation des Classes
- Description brève de l'objectif de la classe (1-2 phrases)
- Exemple simple d'utilisation si la classe est couramment utilisée par les développeurs de plugins
- Références croisées vers les classes liées avec
@seequand pertinent
-
Documentation des Méthodes
- Description brève (1-2 phrases maximum)
- Si le nom de la méthode est explicite, la description peut être omise
- Documentation obligatoire de tous les paramètres et types de retour avec
@paramet@return - Documentation des exceptions avec
@throwsle cas échéant
-
Documentation des Types
- Utiliser
@paramet@returnpour les indications de type quand le typage strict n'est pas possible - Utiliser
@varpour la documentation des types de propriétés quand nécessaire - Les types doivent refléter l'usage actuel, pas l'usage futur idéal
- Pour les enums, utiliser la syntaxe union de littéraux :
/** @var string 'stop'|'starting'|'run'|'stoping'|'error' */ - Pour les tableaux :
- Éviter le simple
arrayquand le type des éléments est connu - Pour les listes simples, privilégier la notation
string[] - Pour les tableaux associatifs avec clés significatives, utiliser
array<int, string> - Pour les structures complexes (comme du JSON encodé), préférer documenter le format via
@linkplutôt qu'une description détaillée du tableau
- Éviter le simple
- Utiliser
-
Éléments Interdits
- Pas de TODOs ou d'éléments de roadmap
- Pas de propositions d'évolution ou de changements futurs
- Pas d'exemples de code longs (faire un lien vers la documentation développeur à la place)
- Pas de détails d'implémentation ou de notes internes
-
Exemples de Code
- Limités à un exemple court par classe quand nécessaire
- Doivent être concis et démontrer uniquement l'usage basique
- Les exemples complexes doivent être liés à la documentation développeur
-
Liens et Références
- Utiliser
@linkpour référencer la documentation externe si nécessaire - Utiliser
@seepour référencer les classes ou méthodes liées - Les liens doivent principalement pointer vers la documentation développeur Jeedom
- Utiliser
/**
* Brève description de la classe
*
* @see ClasseLiee Pour les fonctionnalités liées
*/
class Exemple {
/**
* Brève description de la méthode si nécessaire
*
* @param string $param Description du paramètre
* @return void
* @throws \Exception En cas d'échec
*/
public function methode($param) {
}
}-
Organisation du Code
- Les blocs PHPDoc doivent être bien alignés et formatés de manière cohérente
- Maintenir une séparation claire entre les sections de code avec les commentaires standards de Jeedom
- Utiliser les espaces de manière cohérente dans la documentation
-
Maintenance
- Mettre à jour la documentation lors des modifications de code
- Supprimer la documentation obsolète
- Garder la documentation synchronisée avec le comportement réel du code