Projet

Général

Profil

Identifiants » Historique » Version 16

Patrice Nadeau, 2024-01-27 15:43

1 6 Patrice Nadeau
# Objets
2 3 Patrice Nadeau
3
## Règles
4
5 2 Patrice Nadeau
1. Comportent au maximum **31** caractères :
6
    1. Lettres minuscules
7
    1. Nombres
8
    1. Trait de soulignement
9 1 Patrice Nadeau
1. Si plusieurs mots sont utilisés, ils sont séparées par des traits de soulignement
10 16 Patrice Nadeau
1. Le commentaire Doxygen `@brief` doit être utilisé
11 14 Patrice Nadeau
1. si la visibilité n'est que locale, le modificateur `static` doit être utilisé
12 2 Patrice Nadeau
1. Les objets ne devant plus être utilisés, DOIVENT générer un message lors de la compilation (`-Wall`) si un appel est effectué.
13
    1. Les attributs`deprecated` ou `unavailable` DOIVENT être ajoutés à la déclaration.
14 7 Patrice Nadeau
    1. Les commentaires Doxygen suivants doivent être ajoutés : 
15
        1. `@deprecated` :
16
        1. `@since` :
17 1 Patrice Nadeau
18 3 Patrice Nadeau
## Exemple
19 1 Patrice Nadeau
``` c
20
/**
21
 * @brief OldFunction
22
 * @deprecated Utiliser NewFunction à la place
23
 * @since Version x.x.xx
24
 */
25
int OldFunction(void) __attribute__((deprecated));
26
27
/**
28
 * @brief OldFunction
29
 * @deprecated Utiliser NewFunction à la place
30
 * @since Version x.x.xx
31
 */
32
int OldFunction(void) __attribute__((unavailable));
33 4 Patrice Nadeau
34
/**
35
* @brief MACRO1
36
* @deprecated Utiliser NEWMACRO à la place
37 1 Patrice Nadeau
* @since Version x.x.xx
38
*/
39
#define MACRO1 43
40
#pragma GCC poison MACRO1
41 14 Patrice Nadeau
42
/**
43
 * @brief Fonction locale
44
 * @return Une valeur
45
 */
46
static int local_func(void) {
47
    ...
48
    return 0;
49
}
50 1 Patrice Nadeau
```
51 5 Patrice Nadeau
52
## Justification
53
* Linux kernel coding style : <https://www.kernel.org/doc/html/v4.10/process/coding-style.html#naming>
54
* GNU Coding Standards <https://www.gnu.org/prep/standards/html_node/Writing-C.html#Writing-C>
55
* Embedded C Coding Standard : <https://barrgroup.com/embedded-systems/books/embedded-c-coding-standard>