Projet

Général

Profil

Identifiants » Historique » Version 29

Patrice Nadeau, 2024-01-28 11:00

1 6 Patrice Nadeau
# Objets
2 3 Patrice Nadeau
3
## Règles
4
5 26 Patrice Nadeau
1. Écris en **anglais** avec au maximum **31** caractères :
6 2 Patrice Nadeau
    1. Lettres minuscules
7
    1. Nombres
8
    1. Trait de soulignement
9 25 Patrice Nadeau
1. Commence par une lettre
10 1 Patrice Nadeau
1. Si plusieurs mots sont utilisés, ils sont séparées par des traits de soulignement
11 18 Patrice Nadeau
1. Les commentaires Doxygen suivants sont ajoutés
12 19 Patrice Nadeau
    1. `@brief` : Description obligatoire
13
    1. `@sa` : Lien vers une autre item (see also), facultatif
14
    1. `@todo` : Notes sur les tachés à faire, facultatif
15
    1. `@bug` : Notes sur les bogues présents, facultatif
16
    1. La gradations des notes et remarques se fait selon :
17
        * `@remark` : Non importante
18
        * `@note` : Général
19
        * `@attention` : Important
20
        * `@warning` : Conséquence négative
21 29 Patrice Nadeau
1. Un objet ayant une visibilité locale DOIT avoir le modificateur `static` dans sa déclaration
22
1. Un objet « obsolète », DOIT avoir :
23
    1. Un des attributs suivants à sa déclaration :
24 28 Patrice Nadeau
        1. `deprecated` 
25
        1. `unavailable`
26
    1. Les commentaires Doxygen suivants : 
27 22 Patrice Nadeau
        1. `@deprecated` : Indications sur le remplacement à utiliser
28
        1. `@since` : Depuis quel version le changement est apparue
29 1 Patrice Nadeau
30 3 Patrice Nadeau
## Exemple
31 1 Patrice Nadeau
``` c
32
/**
33 21 Patrice Nadeau
 * @brief old_function
34 23 Patrice Nadeau
 * @deprecated Cette fonction seras retirée dans une prochaine version, utiliser new_function à la place
35 1 Patrice Nadeau
 * @since Version x.x.xx
36
 */
37 21 Patrice Nadeau
int old_function(void) __attribute__((deprecated));
38 1 Patrice Nadeau
39
/**
40 21 Patrice Nadeau
 * @brief old_function
41 23 Patrice Nadeau
 * @deprecated Cette fonction est retirée, utiliser new_function à la place
42 1 Patrice Nadeau
 * @since Version x.x.xx
43
 */
44 21 Patrice Nadeau
int old_function(void) __attribute__((unavailable));
45 1 Patrice Nadeau
```
46 5 Patrice Nadeau
47
## Justification
48
* Linux kernel coding style : <https://www.kernel.org/doc/html/v4.10/process/coding-style.html#naming>
49
* GNU Coding Standards <https://www.gnu.org/prep/standards/html_node/Writing-C.html#Writing-C>
50
* Embedded C Coding Standard : <https://barrgroup.com/embedded-systems/books/embedded-c-coding-standard>
51 27 Patrice Nadeau
* Génération de message lors de la compilation (`-Wall`)