Convention de nommage en C
5 participants
Page 1 sur 1
Convention de nommage en C
Salut tout le monde, j'avais envie dans lancer un petit sujet afin de partager ensemble vos petites habitudes en ce qui concerne le nommage en C.
Bien entendu rien être obligatoire, chacun travaille à sa manière, mais j'aime bien écrire un code propre et lisible bien que j'avoue qu'en ce moment j'hésite entre plusieurs styles.
Celle que je préfère c'est d'écrire en commencement par une minuscule puis chaque nouveau mot en majuscule.
Par contre je galère toujours à savoir si je dois mettre un mot avant l'autre, par exemple playerInit(); ou initPlayer(); Je trouve que initPlayer() est de suite plus lisible, mais je trouve que commencer toutes les fonctions concernant le joueur par player permet de mieux s'organiser.
J'aime aussi écrire les variables à l'ancienne c'est à dire mettre des underscores partout, mais je fini toujours pas laisser tomber cette méthode, car les variables peuvent très longue à écrire.
Bien entendu rien être obligatoire, chacun travaille à sa manière, mais j'aime bien écrire un code propre et lisible bien que j'avoue qu'en ce moment j'hésite entre plusieurs styles.
Celle que je préfère c'est d'écrire en commencement par une minuscule puis chaque nouveau mot en majuscule.
Par contre je galère toujours à savoir si je dois mettre un mot avant l'autre, par exemple playerInit(); ou initPlayer(); Je trouve que initPlayer() est de suite plus lisible, mais je trouve que commencer toutes les fonctions concernant le joueur par player permet de mieux s'organiser.
- Code:
bool playerIsActive();
bool playerIsDead();
void playerUdapte();
void playerInit();
etc.
J'aime aussi écrire les variables à l'ancienne c'est à dire mettre des underscores partout, mais je fini toujours pas laisser tomber cette méthode, car les variables peuvent très longue à écrire.
Invité- Invité
Re: Convention de nommage en C
Souvent, je fais plus ou moins de l'objet en C, donc j'utilise la convention de nommage de la GLib/GTK/Gnome (c'est le premier code objet en C que j'ai vu).
Grosso modo, toutes les fonctions qui concernent les struct Player commencent par player. Et tout est déclaré dans player.h
Ce qui donne playerInit, playerSetPos, playerRelease par exemple. Le premier paramètre est toujours
Bon, comme je fais aussi beaucoup de Python, ça donne plutôt :
mais c'est l'idée.
Grosso modo, toutes les fonctions qui concernent les struct Player commencent par player. Et tout est déclaré dans player.h
Ce qui donne playerInit, playerSetPos, playerRelease par exemple. Le premier paramètre est toujours
- Code:
Player *this
Bon, comme je fais aussi beaucoup de Python, ça donne plutôt :
- Code:
player_init(Player *self)
mais c'est l'idée.
Tryphon- Docteur *
- Nombre de messages : 26166
Age : 47
Localisation : Un peu plus à l'Ouest
Date d'inscription : 23/07/2016
Re: Convention de nommage en C
Salut, dans le nommage il n'y a pas que l'esthétique ou la visibilité, il y a aussi le pratique, par exemple quand j'ai trop de variables de positions je vais commencer par :
XplayerOn, Xenemy, Yplayer2, etc.
Ainsi via l'IDE je trouve plus facilement les variables de positions quand je commence à taper X et que l'auto-complétion trouve automatiquement toutes ces variables commençants par X, donc on peut prioriser l'auto-complétion ou la lisibilité.
Ce que tu appelles "commencement par une minuscule puis chaque nouveau mot en majuscule", s'appelle le "lowerCamelCase".
En fait il n'y pas vraiment de convention, j'ai déjà essayé de me tenir à une convention personnelle, mais des fois il y a trop de variables, trop de dérivés, un code trop peu llisible et je me retrouves avec des cas où je dois commencer par des underscores, tirets etc :)
XplayerOn, Xenemy, Yplayer2, etc.
Ainsi via l'IDE je trouve plus facilement les variables de positions quand je commence à taper X et que l'auto-complétion trouve automatiquement toutes ces variables commençants par X, donc on peut prioriser l'auto-complétion ou la lisibilité.
Ce que tu appelles "commencement par une minuscule puis chaque nouveau mot en majuscule", s'appelle le "lowerCamelCase".
En fait il n'y pas vraiment de convention, j'ai déjà essayé de me tenir à une convention personnelle, mais des fois il y a trop de variables, trop de dérivés, un code trop peu llisible et je me retrouves avec des cas où je dois commencer par des underscores, tirets etc :)
tetsuro- Patient contaminé
- Nombre de messages : 593
Age : 47
Localisation : Carcassonne
Date d'inscription : 27/12/2015
Re: Convention de nommage en C
de mon coté
#define NOMENCAPITALES valeur
toutes les autres dans ce style :
player_is_active();
Comme dit au dessus, il n'y a pas de convention réelle.
Le but étant simplement que TOI tu t'y retrouves.
#define NOMENCAPITALES valeur
toutes les autres dans ce style :
player_is_active();
Comme dit au dessus, il n'y a pas de convention réelle.
Le but étant simplement que TOI tu t'y retrouves.
Re: Convention de nommage en C
Tryphon a écrit:Grosso modo, toutes les fonctions qui concernent les struct Player commencent par player. Et tout est déclaré dans player.h
Ce qui donne playerInit, playerSetPos, playerRelease par exemple. Le premier paramètre est toujours
J'adopte ! Je trouve ça tellement beau et propre !
Invité- Invité
Re: Convention de nommage en C
La convention de nommage est un peu propre à chacun, tant que ça reste clair pour quiconque et facile à lire je dirai que c'est le plus important...
Etant donné que tu utilises SGDK, tu peux peut être te calquer sur la convention que j'utilise, tu verras que c'est à peu près celle où tu sembles parti
J'utilise la lowerCamelCase pour les variables et fonctions.
La CamelCase tout court pour la déclaration des structures / objets, et tout en majuscule pour les definitions / constantes.
Tu verras aussi que j'ai essayé d'organiser SGDK en modules / unités, et que toutes les fonctions d'un module commencent par 3/4 lettres en majuscules pour définir le modules (SYS, MEM, SPR, VDP, JOY, ...) suivi d'un underscore de séparation et du nom de la fonction (MEM_init(), MEM_alloc(), SPR_addSprite(..), ...)
Ca a du sens pour un SDK, car on va dire que ce sont des fonctions "systèmes", pour ton jeu je pense que tu peux faire comme Tryphon l'a proposé.
Etant donné que tu utilises SGDK, tu peux peut être te calquer sur la convention que j'utilise, tu verras que c'est à peu près celle où tu sembles parti
J'utilise la lowerCamelCase pour les variables et fonctions.
La CamelCase tout court pour la déclaration des structures / objets, et tout en majuscule pour les definitions / constantes.
Tu verras aussi que j'ai essayé d'organiser SGDK en modules / unités, et que toutes les fonctions d'un module commencent par 3/4 lettres en majuscules pour définir le modules (SYS, MEM, SPR, VDP, JOY, ...) suivi d'un underscore de séparation et du nom de la fonction (MEM_init(), MEM_alloc(), SPR_addSprite(..), ...)
Ca a du sens pour un SDK, car on va dire que ce sont des fonctions "systèmes", pour ton jeu je pense que tu peux faire comme Tryphon l'a proposé.
Stef- Interne
- Nombre de messages : 5087
Age : 45
Localisation : Sevres
Date d'inscription : 04/04/2007
Re: Convention de nommage en C
Personnellement comme beaucoup j'ai l'impression, j'aime bien "décoller" les noms de variables/fonction... qui possède plusieurs nom dedans.
Pour reprendre ton exemple du début :
bool player_Is_Active();
bool player_Is_Dead();
void player_Udapte();
void player_Init();
...
Je trouve ça beaucoup plus lisible que tout collé même avec une majuscule.
Pour reprendre ton exemple du début :
bool player_Is_Active();
bool player_Is_Dead();
void player_Udapte();
void player_Init();
...
Je trouve ça beaucoup plus lisible que tout collé même avec une majuscule.
Sujets similaires
» Convention ADN 2016 à Tantonville
» ADN convention à Nancy photos
» lien convention retro
» Convention Epitanime 2015
» première convention GemTos 28/29 mai 2022
» ADN convention à Nancy photos
» lien convention retro
» Convention Epitanime 2015
» première convention GemTos 28/29 mai 2022
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum