J'ai récemment commencé à travailler avec Unity3D et principalement à écrire des scripts avec C #. Comme je programme normalement en Java, les différences ne sont pas trop importantes, mais j'ai quand même fait référence à un cours intensif juste pour m'assurer que je suis sur la bonne voie.
Cependant, ma plus grande curiosité avec C # est qu'il capitalise la première lettre de ses noms de méthode (par exemple. Java: getPrime()
C #: GetPrime()
aka: Pascal Case?). Y a-t-il une bonne raison à cela? Je comprends de la page du cours intensif que j'ai lu qu'apparemment c'est une convention pour .Net et je n'ai aucun moyen de le changer, mais je suis curieux de savoir pourquoi cela a été fait comme cela par opposition au cas de chameau normal (relatif?) que, par exemple, Java utilise.
Remarque: Je comprends que les langages ont leurs propres conventions de codage (les méthodes Python sont toutes en minuscules, ce qui s'applique également dans cette question), mais je n'ai jamais vraiment compris pourquoi il n'est pas formalisé en standard.
la source
camelCase
etPascalCase
etunderscore_case
et dire que l' un d'entre eux est normal (même relativement normale) et les autres non. Comme l'a dit @dasblinkenlight, c'est un choix arbitraire. La seule chose qui vous fait penser que la convention de C # est inhabituelle est que vous "programmez normalement en Java", et êtes donc habitué au choix arbitraire fait pour Java.Réponses:
Les conventions de dénomination représentent des choix arbitraires de leur éditeur. Rien dans le langage lui-même ne vous interdit de nommer vos méthodes comme vous le faites en Java: tant que le premier caractère est une lettre / un trait de soulignement et que tous les autres caractères sont des lettres, des chiffres ou des traits de soulignement, C # ne va pas se plaindre. Cependant, les bibliothèques de classes fournies avec .NET suivent une convention que Microsoft a adoptée en interne. Microsoft a également publié ces directives , afin que d'autres puissent également les adopter pour leurs propres bibliothèques de classes. Bien que ce soit votre choix de suivre ou d'ignorer les directives de Microsoft, la familiarisation avec votre code par d'autres peut aller plus vite si vous suivez les mêmes directives de dénomination.
la source
this
mot-clé fait de même. Les choix de style sont pratiques, même s'ils peuvent paraître extraterrestresPeut-être en raison de l'influence de Pascal / Delphi. Le créateur de C # et Delphi était la même personne après tout (Anders Hejlsberg).
Les conventions de codage Delphi sont en gros les mêmes que les C # dans cet aspect; voir http://www.econos.de/delphi/cs.html#ObjectPascal_Procedures ou http://wiki.delphi-jedi.org/index.php?title=Style_Guide#Method_Naming - coincidence?
la source
En plus des autres réponses apportées, avoir un cas de chameau pour les méthodes signifie qu'ils peuvent entrer en conflit avec les noms des membres privés, les paramètres et les variables de méthode qui utilisent le cas de chameau pour leur dénomination. En Java (et C # 1.0), ce n'est pas très courant car l'utilisation des délégués est gênante et rare. En C # moderne, ce n'est pas exactement courant , mais ce n'est pas non plus inédit.
la source