Règles de codage, de noms de variables, de commentaires etc.... [Résolu]

Signaler
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009
-
Salut à tous,

Je voulais savoir s'il existe des "règles" ou "standard" de codage, en particulier pour les noms de variables et de fonctions.

Pour les projets en groupe, ou meme pour le partage de source, je pense que ça peut etre pas mal d'essayer de diffuser un peu ce genre de regles non ? Le fait est que je ne sais pas si il en existe vraiment,  ou si c'est plutot à l'appréciation de chacun.

Le seul truc que j'ai trouvé sur internet à ce sujet, c'était un truc du genre :

MaFonction() pour les fonctions > majuscules au début de chaque mot, et pas d'underscore "_"

sMaVariable > lettre en minuscule précisant le type de variable au début, puis meme regle que pour les fonctions (je crois que ça s'appelle camel ...truc)

Pour les classes et les modules, je pensais à appliquer la meme regle que pour les variables :
clsClass
modModule

Enfin j'ai moi meme mes propres habitudes, mais j'aimerais savoir si vous avez un document qui vous a guidé dans ces choix ou si c'est personnel, en fait c'est surtout pour un projet open source, donc le mieux serait de choisir des "règles" de codage, histoire de le garder le plus lisible possible.

Merci si vous partagez vos avis !

A+

Ciaò
[mailto:madmatt_12@msn.com MadMatt]
www.madmatt.fr.st

11 réponses

Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

perso, c'est l'expérience, dans certains bouquins, je vais lire 'il faut déclarer ainsi : sMyString", et dans d'autres, "déclarer en strMyString".
Donc je pense qu'il n'y a pas vraiment de règles déterminées.

Ensuite pour les Unserscores, c'est vrai qu'il vaut mieux éviter de les mettres dans des noms de fonctions ou procédures, car ça risque (pour le lecteur du code) de préter à confusion avec les procédures évènementielles, mais c'est au choix (et çc ne crée pas de bug).

Par soucis de lisibilité, il est possible de l'utiliser.

Une chose est sûre, il faut utiliser des noms de variables en anglais, je sais pas vraiment pourquoi, mais c'est comme ça.

A la limite attend le passage de Renfield, Manu ou PCPT, il seront plus aptes à te répondre.

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
123
Date d'inscription
dimanche 9 mars 2003
Statut
Membre
Dernière intervention
29 avril 2009

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
104
chaque langage possède une règle de codage recommendée qui lui est propre.

Par exemple, en C sous Windows, la règle de codage de la notation hongroise est fortement recommandée. (perso, c'est la règle que j'essaie de respecter sous vb).
En java, c'est une autre règle assez différentes, etc.

Bref, c'est à toi de te documenter sur les règles en vigueur pour le langage utilisé, et surtout, lire des codes des communautés utilisant le même langage pour voir les règles.

Ces règles là ne sont pas forcément utilisées partout, il s'agit juste d'une bonne conduite que l'on devrait respecter afin que tout le monde puisse lire rapidement un code.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Il n'y a pas de règles réellement établies.

Chaque langage a ses recommandations, que tu est libre de suivre ou pas, mais que une grande majorité de programmeurs (pro) suivent.

Regarde cette série d'articles :

Guide du développeur .NET Framework Instructions relatives aux noms

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Excuse DarkSidious, je t'avais pas nommé
Merci dthuler pour ton lien, très interressant ! reste à appliquer...

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Merci pour toutes ces réponses, et effectivement dans les liens que j'ai regardé, ça explique des règles précises, mais pas toujours évidentes.
Par exemple il faut mettre strVariable, bien que je pense que dans une petite fonction sVariable soit plus adapté, ou encore pour un enum ne pas mettre enumVar mais Var sans le préfixe, ce qui dans un gros projet peut préter à confusion et se mélanger à d'autre variables.
De meme pour les classes etc...

Enfin je vois que c'est un peu le bordel, et le mieux je pense, c'est de s'adapter à la situation, en fonction de la taille du code surtout, mais aussi des types de variables présentes.

Bref merci beaucoup, c'était les liens que je cherchais, mais je ne pense pas les appliquer à la lettre

bonne prog à tous ;)
Ciaò
[mailto:madmatt_12@msn.com MadMatt]

www.madmatt.fr.st
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

Humm, il existe d'innombrables règles de codage par langage. Il y a déjà celles proposées par les éditeurs du langage, celles admises communément par les codeurs, puis celles de chaque entreprise. Une vraie jungle.
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Une des regles les plus partagées je pense, et à mon avis la plus importante, est la casse des variables.

Constantes tout en majuscule
Variables Globales en minuscule avec la première lettre de chaque mot en majuscule.
Variables locales tout en minuscule.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

OK avec toi casy.
J'ajouterai une autre règle très importante à mon sens, l'indentation (perso je prend 2 comme tabulation). Rien de plus ch.... à lire et comprendre qu'un prog pas ou mal indenté.
Une autre règle, commenter le code (en environnement pro, c'est essentiel pour la maintenance, même seulement pour soi).
J'ai vu aussi des codes dont toutes les lignes étaient séparées par une ligne vide. Totalement inutile. Donc pas de ligne vide ou alors une ligne de commentaire à la place.
Etc...
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Perso les idents c'est 4 (sauf quand trop d'indent, réduction à 2).

Commentaires d'entetes de procédures, fonction ou  fichiers obligatoires
Limite des commentaires d'entetes de procédures, fonction ou  fichiers à la colonne 92

Pas de saut de ligne entre chaque ligne, mais un saut de ligne entre chaque bloc de code.
ex: entre déclaration et init des variables, entre init et code, entre lecture d'un fichier et traitement du résultat (quand le traitement est séparé de la lecture), ............................

Un bon outils ---> MzTools

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
Messages postés
2215
Date d'inscription
mardi 11 novembre 2003
Statut
Membre
Dernière intervention
16 juillet 2009

Oui moi aussi indentation à 4

Par contre je ne connaissais pas MzTools, je vais télécharger pour voir ça a l'air pas mal ^^

Ciaò
MadMatt