IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

comment nommé une variale en C# ? convention ?


Sujet :

C#

  1. #1
    Débutant  
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Points : 60
    Points
    60
    Par défaut comment nommé une variale en C# ? convention ?
    bonjour...
    je cherche un document qui parle de nommage de variable en C#, car je trouve des difficulté pour nommé mes variable j'aimerai bien que ça soit fait d'une maniere normée ?.
    merci bien

  2. #2
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    c'est un bon reflexe que tu as là. il n'y a pas de norme obligatoire mais bon une est plus connue que les autres

    premiere lettre en mini puis majuscule à chaque mot => maVariable
    majuscule pour les methodes => CliqueMoi()
    constantes tout en majuscules => const int MAX_LENGTH = 10;
    éviter les chiffres ou les caractères spéciaux maximum => Clique_Moi_2(int toto) => caymal

    plus d'infos:
    http://msdn.microsoft.com/fr-fr/library/ms229002.aspx

    et enfin pour finir, tu peux passer un coup de fxCop sur ton code. il trouve toujours à redire

  3. #3
    Débutant  
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Points : 60
    Points
    60
    Par défaut
    je vous remercie beaucoup.....

  4. #4
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    Aussi dans les classes, pour nommer les variables privées, nous utilsons le _ . Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private int _test;
     
    public int Test
    {
      get
      {
         return _test;
      }
    }
    J'ai toujours écris comme ça mais je ne sais pas si ca correspond à la règle ? Sinon je suis ok avec ce qui a été cité plus haut.

  5. #5
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Il n'y a pas de règle absolue en matière de convention de nommage, mais on peut quand même se baser sur ce qui est fait dans le framework lui-même et ajouter des règles assez largement acceptées.

    Voici ce que "j'impose" dans les environnement qui n'ont aucune convention :

    De manière générale : utilisation de PascalCase

    sauf pour :

    • Les champs et les constantes privés : camelCase avec un underscore en préfix ( private string _sourceCode)
    • Les variables inlines et les paramètres : camelCase


    ensuite, quelques règles annexes :

    • On préfixe les interfaces avec un I.
    • Pour les classes génériques, on utilise T ou K pour l'identifieur de type.
    • On suffixe les classes dérivant d'Exception avec "Exception".
    • Pareil pour les attributs, on suffixe avec "Attribut".
    • On utilise un verbe ou une paire verbe-objet pour nommer les méthodes.
    • Par extension de la règle précédente : on ne préfixe jamais une propriété avec Get ou Set.
    • Et par pitié, on ne préfixe pas les variables avec une indiquation de type !! (private Object oMonTruc // --> poubelle !)


    Exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class Person
    {
     private string _nom;
     private string _prenom;
     
     public string Nom { get { return _nom; }}
     
     public void SaySomething(string text)
     {
       string additionalText = "...";
     }
    }

  6. #6
    Membre averti Avatar de flogreg
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2004
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2004
    Messages : 432
    Points : 392
    Points
    392
    Par défaut
    ca me rassure, je pense que je ne suis pas loin des conventions :-)

  7. #7
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Tu peux regarder ce document si ça t'intéresse
    http://submain.com/?nav=products.guidelines

    Perso pour les membres privés je mets un 'm' devant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private string mFirstname;
    private string mLastname;

  8. #8
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Perso pour les membres privés je mets un 'm' devant
    Je trouve moin lisible que l'underscore...

    Un avantage de l'underscore est l'usage avec l'intellisense...Tu tapes _, et pouf, tu as la liste de tes membres privés.

  9. #9
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 254
    Points
    28 254
    Par défaut
    Citation Envoyé par Skyounet Voir le message
    Tu peux regarder ce document si ça t'intéresse
    http://submain.com/?nav=products.guidelines

    Perso pour les membres privés je mets un 'm' devant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    private string mFirstname;
    private string mLastname;
    c'est la notation hondgroise. c'est comme quand on mettait un "z" pour les chaines de caractères
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string zToto = "String";
    Il faut l'utiliser complètement si on la prend et préfixer chaque variable par son type

    même si je ne l'ai jamais vu utilisée depuis que j'ai arrêté le C++ WIN et MFC, on peut l'utiliser mais mixer deux notations, je suis pas sûr que tes collègues apprécieront

  10. #10
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Louis-Guillaume Morand Voir le message
    c'est la notation hondgroise. c'est comme quand on mettait un "z" pour les chaines de caractères
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string zToto = "String";
    Il faut l'utiliser complètement si on la prend et préfixer chaque variable par son type

    même si je ne l'ai jamais vu utilisée depuis que j'ai arrêté le C++ WIN et MFC, on peut l'utiliser mais mixer deux notations, je suis pas sûr que tes collègues apprécieront
    Pourtant je l'ai vu un nombre incalculable de fois dans les sources de chez MS (et des sources récentes).
    Par contre c'était pas m mais m_.

  11. #11
    Inscrit

    Profil pro
    Inscrit en
    Février 2004
    Messages
    862
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2004
    Messages : 862
    Points : 1 229
    Points
    1 229
    Par défaut
    Citation Envoyé par Louis-Guillaume Morand Voir le message
    c'est la notation hondgroise. c'est comme quand on mettait un "z" pour les chaines de caractères
    On mélange deux notions là.

    La notation hongroise consiste à préfixer un nom de variable pour spécifier son type. C'est une méthode qui peut avoir quelques bénéfices avec certains langages faiblement typés (VBScript par exemple), mais qui n'a pas de raison d'être en OO et à plus forte raison avec des langages fortement typés.

    La technique du préfixe _, m, ou encore m_ quand à elle, est une indication de portée.

  12. #12
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par Louis-Guillaume Morand Voir le message
    c'est la notation hondgroise. c'est comme quand on mettait un "z" pour les chaines de caractères
    Pas tout à fait : la notation hongroise consiste à préfixer différemment une variable selon son type, pas selon sa nature ('fin il me semble).

    [edit] j'aurais du faire un chtit F5 pour pas doublonner avec Keihilin...

  13. #13
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    587
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2006
    Messages : 587
    Points : 706
    Points
    706
    Par défaut
    Citation Envoyé par Guulh Voir le message
    Pas tout à fait : la notation hongroise consiste à préfixer différemment une variable selon son type, pas selon sa nature ('fin il me semble).
    Mouais mais la notation hongroise n'est pas recommandée par MSDN.

    Use of Hungarian notation is deprecated by companies like Microsoft because it introduces a programming
    language-dependency and complicates maintenance activities.
    Moi aussi un temps je m'étais intéressé à ça, j'ai même trouvé un PDF. Malheureusement peux pas l'envoyer en pièces jointes et je sais plus sur quel site je l'ai trouvé.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment remplacer une partie de texte dans un champs
    Par patlapi dans le forum Paradox
    Réponses: 4
    Dernier message: 20/11/2003, 14h38
  2. comment integer une animation swf dans une page
    Par naili dans le forum Intégration
    Réponses: 7
    Dernier message: 18/09/2002, 18h54
  3. Comment récupérer une adresse MAC ?
    Par psau dans le forum Développement
    Réponses: 7
    Dernier message: 19/07/2002, 17h26
  4. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo