2010-11-05 32 views
1

Je reviens de Python en C++ pour mon prochain projet. Je connais why I shouldn't et je connais why I should Peu importe ce débat.isFollowingCamelCaseConventionInCPlusPlus plus_import_than_readability?

C++ conventionForVariablesIsCamelCase AndI'mHavingTrouble AcceptingIt que, at_least_for_my_eyes_it's_less_readable_than_the_lower_case_underscored_convention. L'un de vous a-t-il rencontré un article ou une information affirmant que les programmeurs devraient adopter la convention lower_case_underscored et abandonner le camelCase, même dans les projets C++? Ou peut-être une recherche qui montre que l'un est scientifiquement plus lisible que l'autre?

+0

C++ n'a pas de convention pour nommer les variables. Je n'utilise jamais camelCase en C++. Vous semblez confondre un ensemble arbitraire de recommandations de style pour une norme générale. –

+0

@Glenn - vous avez raison, mon mauvais – Jonathan

+1

Cela a été discuté à plusieurs reprises sur les programmeurs: http://programmers.stackexchange.com/q/27264/15464 –

Répondre

2

Il n'y a pas de convention convenue pour le nommage C++ parmi les programmeurs C++, cependant des minuscules avec des underscores sont utilisées dans la bibliothèque standard C++ et dans boost.


En ce qui concerne les normes de codage document que vous lié ...

Un lien vers les normes de codage d'une entreprise aléatoire qui utilisent « pratique courante dans la communauté du développement C++ » pour justifier leurs normes, mais fournissent pas de citation pour cette déclaration sent comme un faux appel à l'autorité afin de justifier les préférences de celui qui a écrit le document.

9

Si vous codez dans une équipe, la cohérence est probablement plus importante que la préférence personnelle; Les membres de l'équipe ne devraient pas avoir à changer de contexte entre la lecture du code de Joe et la lecture du code de Jane. De même, si vous codifiez des devoirs académiques, le style de cours comme le style d'équipe doit être respecté (juste ou faux), simplement parce que la personne qui attribue les notes sera habituée à lire cela et vous devrez extraire la meilleure note possible pour votre travail!

Je suggérerais autrement qu'une convention a peu d'avantage sur un autre. CamelCase fournit une certaine efficacité de longueur de symbole.

4

S'il s'agit d'un projet privé, utilisez la convention de dénomination qui vous convient et vous aidez à être productif. Gardez simplement à l'esprit que c'est généralement une bonne idée d'être en accord avec le "style" général de la langue/de la pratique habituelle puisque tous les échantillons/exemples etc. utilisent habituellement ce style, rendant l'intégration etc. plus facile et moins "choquante" .

S'il s'agit d'un projet public, il est probablement préférable d'utiliser les conventions, car c'est plus facile à utiliser pour d'autres personnes.

S'il s'agit d'une entreprise, suivez les directives de votre entreprise. S'il n'y en a pas, alors je ferais la même chose que pour un projet public. Une chose que je dirais personnellement à propos de CamelCase, c'est de ne pas être complètement coincé dessus, et de faire preuve de bon sens pour des raisons de lisibilité. Par exemple, j'ai souvent vu des abréviations dans les noms de cas de chameau écrits en partie supérieure/inférieure, ce qui, à mon avis, nuit vraiment à la lisibilité. Dans des cas comme celui-ci, je choisirais toujours l'option la plus lisible. Ainsi, par exemple je toujours écrire:

private string targetURL; 

plutôt que

private string targetUrl; 

Mais, ce n'est de préférence personnelle.

2

CamelCase vs underscores: Scientific showdown décrit une étude scientifique unique qui a trouvé:

Considérant les quatre hypothèses ensemble, il devient évident que le style de cas de chameau conduit à mieux autour de la performance une fois un sujet est formé sur ce style. Une formation est requise pour reconnaître rapidement un tel identifiant.

Mais alors la page ne pense pas que leurs conclusions sont valides. :)

Il a également deux sondages de visiteurs sur le site, qui sont tous les deux 50/50 en faveur de chaque style.

+0

Ne pas oublier de lire l'étude de suivi que je lie dans un commentaire: http://www.computer.org/portal/web/csdl/doi/10.1109/ICPC.2010.41; p Il tente de résoudre certains des problèmes avec l'étude originale dont j'ai blogué. –