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 :

Pourquoi n'utilisez-vous pas la convention de nommage de la STL ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Par défaut Pourquoi n'utilisez-vous pas la convention de nommage de la STL ?
    Good morning francophonie,

    En observant le code d'un peu tout le monde, je remarque que tous ou presque utilisent la convention de nommage à la Pascal (ceGenreDeChoses, également utilisée en Java), alors que les racines du langage C++ et sa librairie standard elle-même indiquent (même si n'imposent pas) une convention de nommage à la C, que_vous_devez_connaître_également.
    Pourquoi ne l'utilisez-vous pas ?

    Évidemment, ce n'est qu'une question de style, rien de bien crucial. C'est juste intrigant.

  2. #2
    Membre émérite
    Avatar de Spout
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    904
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Février 2007
    Messages : 904
    Par défaut
    Pour ma part, c'est totalement arbitraire. Je préfère simplement des variables/fonctions GetQuelqueChose que get_quelque_chose. Je trouve ça plus propre à relire et moins long.
    Mais encore une fois, c'est totalement arbitraire .

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Par défaut
    Ce qui m'intrigue le plus, c'est le choix d'une autre convention de nommage que la librairie standard dudit langage.
    Par exemple, j'aime bien la notation C, mais lorsque je code en Java, je me pose pas de question, jeCodeCommeÇa, pour faire corps avec la librairie standard.

    Comme tout le monde se fait sa propre petite convention, on se retrouve fatalement avec des codes très hétérogènes du fait de l'utilisation de différentes lib dans un même projet.
    J'ai très rarement vu de gens nommer à la C en Java, alors que l'inverse est beaucoup plus fréquent.

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    L'habitude . C'est une mauvaise raison mais c'en est une très courante.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Par défaut
    Le plus troublant c'est le cas des développeurs de boost.
    Ils ont fait le choix de nommer à la C pour faire corps avec la STL (et dans leur cas, faire corps, c'est peu dire). Et pourtant, quand on lit leurs docs, on retrouve des codes où ils nomment à la Pascal, comme si ça les soulageait de pouvoir ENFIN placer des majuscules, comme si en réalité ça les pesait de nommer à la C et que s'ils avaient vraiment eu le choix, ils auraient nommé à la Java.

    Du coup, plus que des questions de goûts esthétiques ou d'habitude, j'ai l'impression que les gens trouvent des défauts à cette notation, que ça les gêne de ne pas pouvoir différencier le nom d'une classe d'un nom de fonction ou de variable (alors que le contexte laisse rapidement peu de doute à ce sujet).

  6. #6
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par three minute hero Voir le message
    Le plus troublant c'est le cas des développeurs de boost.
    Ils ont fait le choix de nommer à la C pour faire corps avec la STL (et dans leur cas, faire corps, c'est peu dire). Et pourtant, quand on lit leurs docs, on retrouve des codes où ils nomment à la Pascal, comme si ça les soulageait de pouvoir ENFIN placer des majuscules, comme si en réalité ça les pesait de nommer à la C et que s'ils avaient vraiment eu le choix, ils auraient nommé à la Java.
    Utiliser des conventions de nommage differentes pour le code d'une bibliotheque et les exemples montrant comment s'en servir est une technique qui permet de differencier facilement les deux. Je doute qu'il faille chercher plus loin.

  7. #7
    Membre très actif
    Avatar de TheDrev
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Par défaut
    Avant j'écrivais aussi en CamelCase, mais je suis tombé sur http://www.gnu.org/prep/standards/ht...mes.html#Names en recherchant de la doc sur g++. Je trouve que c'est effectivement plus simple a lire, que cela facilite la frappe a l'aveugle, si on y reflechit, il faut simplement appuyer sur _ au lieu de shift droit ou shifte gauche + la touche voulut...

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Par défaut
    [HS]
    J'ajouterais qu'avec une disposition de clavier évoluée comme celle-ci, l'underscore est accessible avec altgr-espace. Un pur régal geekesque
    [/HS]

  9. #9
    Membre très actif
    Avatar de TheDrev
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Par défaut
    cela doit se configurer sur un clavier normale avec un fichier .map et un peu de typex

    Sinon, il est certains que dans un projet, quel que soit la notation choisie, il faut essayer de rompre avec ses habitudes pour se fondre dans le code existant... rien n'est plus désagréable de coder avec 2 convention en meme temps !

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Citation Envoyé par three minute hero Voir le message
    [HS]
    J'ajouterais qu'avec une disposition de clavier évoluée comme celle-ci, l'underscore est accessible avec alt-espace. Un pur régal geekesque
    [/HS]
    Sauf que sous Windows, ce raccourci clavier est déjà affecté.

  11. #11
    Membre chevronné

    Inscrit en
    Août 2007
    Messages
    300
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 300
    Par défaut
    Les règles de codage datent en général de bien avant la STL (et oui, bien des chefs de projets sont des dinosaures! ).
    Il y a aussi le fait que de nombreuses librairies utilisent CetteConvention, en particulier en environnement Windows.
    Ceci dit, nous avons basculé sur une notation très proche de_celle_ci en 2006 pour tous les nouveaux codes, quel que soit le langage (y compris en électronique / électricité / conception), lors d'un changement d'assurance qualité. Il n'y a pas eu vraiment de résistance en interne, et la plupart de l'équipe apprécie maintenant le gain en lisibilité.
    Ce qui nous a motivé, cependant, était purement lié à des critères de lisibilité, et pas à des questions de cohérence avec telle ou telle librairie de tel ou tel langage (bien que C++ soit très important chez nous, ce n'est pas le seul langage, et la STL est devenue tellement transparente qu'elle se fond pratiquement dans les mots-clés).

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 142
    Par défaut
    Citation Envoyé par ac_wingless Voir le message
    une notation très proche de_celle_ci en 2006
    Justement, quelles sont les différences de la variante utilisée par ton entreprise ?

Discussions similaires

  1. Quel framework PHP utilisez-vous et pourquoi ?
    Par Lana.Bauer dans le forum Bibliothèques et frameworks
    Réponses: 194
    Dernier message: 04/02/2014, 14h33
  2. Pourquoi n'utilisez vous pas SAP BI
    Par Bill54 dans le forum Approche théorique du décisionnel
    Réponses: 38
    Dernier message: 04/12/2013, 16h24
  3. [Templates] Quel système utilisez-vous ? Pourquoi ?
    Par narmataru dans le forum Bibliothèques et frameworks
    Réponses: 270
    Dernier message: 26/03/2011, 00h15
  4. Quelle version d'Eclipse utilisez-vous ? Pourquoi ?
    Par Ricky81 dans le forum Eclipse
    Réponses: 54
    Dernier message: 28/08/2006, 09h10
  5. [langage] Pourquoi utilisez-vous Perl ?
    Par R3iTt0R dans le forum Langage
    Réponses: 10
    Dernier message: 23/06/2004, 14h17

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