Projet

Général

Profil

Identifiants » Historique » Version 35

Patrice Nadeau, 2024-01-28 11:14

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