Derniers journaux de NedFlanders :
- [20/11@13:48] Quel contenu pour linuxfr ?
- [07/09@10:48] Firefox et ma carte bleue
- [09/08@23:20] mingw passe à gcc 4.2.1 (enfin presque)
- [01/07@22:22] Les banques et le sérieux
- [23/04@16:14] Boris Eltsine nous a quitté
- [01/03@14:27] Recherche dans les mails avec Thunderbird
- [16/01@12:34] Pourquoi je hais les locales
- [30/12@14:01] wxWidgets 2.8.0 is out !
- [05/12@22:41] Des députés méritants
- [23/10@17:55] OVH et le mail
- [02/04@17:13] Alternative au brevetage ?
- [17/06@10:18] Is Linux For Losers?
- [07/06@11:01] Des souris et des pommes
- [22/11@13:06] Distribution automatique de virus via les serveurs de pubs de Falk AG
- [18/10@14:30] un conte édifiant
- [11/07@22:47] wmforkplop : ready for the desktop
- [26/06@10:51] Ascenseur pour l'espace
- [24/06@09:08] C++ Reloaded
- [21/06@18:03] gcctraffic
- [18/06@16:30] Journal à la con
En cette fin d'année 2007, je voudrais connaitre les goûts majoritaires en matière de nommage de classes/fonctions/variables. J'ai en effet l'impression que le mixedCase a définitivement remporté la bataille, principalement à cause des légions de developpeurs Java qui ont été nourris à ça. Personnellement, je trouve QueCEstAssezLourdAECrireEtDifficileALire et j'aime bien mettre des underscores dans mes noms de variables et de fonctions, en gardant des classes en MixedCase. Le problème c'est que la plupart des libs que j'utilise sont en mixedcase, et le melange des genres c'est pas beau ..
Alors toi lecteur, comment nommes tu tes variables et tes fonctions dans ton langage favori ?
> Lire le journal (23 commentaires, moyenne: 1,6).
Chacun décide.
C'est un peu comme l'utilisation de tab ou d'espace.
L'un n'est pas meilleur que l'autre[1] mais l'important c'est d'être consistant.
Moi j'utilise le CamelCase car j'utilise Qt.
[1] enfin si les tabs sont mieux c'est connu.
-
[^]Re: Chacun décide.
Posté par Diplodocus (Jabber id, page perso, ) le 29/12/2007 à 19:36. (lien). Évalué à 1.De même je programme en Qt et j'utilise les CamelCase.
Par contre le CamelCase s'utilise bien mieux avec la langue anglaise : une classe de nom LoudAndDifficulteToRead est plus facile à lire que QueCEstAssezLourdAECrireEtDifficileALire ;)
Le principale je pense c'est d'avoir une homogénéité dans un même projet (quelque soit le choix de la façon de nommer une variable) dans le choix des noms de variables mais aussi dans la présentation des Accolades (pour le C par exemple)
-
[^]Re: Chacun décide.
Posté par Krunch (Jabber id, page perso, ) le 30/12/2007 à 16:30. (lien). Évalué à 1.À noter qu'il existe (au moins) deux variantes du CamelCase : le UpperCamelCase (qui semble s'imposer en C#/.NET) et le lowerCamelCase (qu'on retrouve assez bien en Java, sauf pour les noms de classe qui sont plutôt en UpperCamelCase).
http://java.sun.com/docs/codeconv/html/CodeConventions.doc8.(...)
http://msdn2.microsoft.com/en-us/library/x2dbyw72(VS.71).asp(...)
Par ailleurs, je viens de tomber sur ça sur Wikipédia : http://www.coding-guidelines.com/cbook/sent787.pdf--
Free Softwares Users Group Arlon (Sud Luxembourg, Belgique)
pertinent, e adj. Approprié ; qui se rapporte exactement à ce dont il est question.
_
Je trouve le mixed case trop compliqué à lire et pénible à écrire. Du coup j'utilise des _. Je trouve ça beaucoup plus facile à retenir alors avec les majuscules je dois chaque fois relire pour me souvenir du nom de la fonction/variable.
De toutes façons, le java, ça pue...
-
[^]Re: _
Posté par farvardin (page perso, ) le 29/12/2007 à 21:29. (lien). Évalué à 2.à ce propos, savez-vous si avec les outils basés sur GTK il est possible de sélectionner automatiquement l'ensemble d'une Variables_dans_ce_style1 en double cliquant dessus ? Sur tous les outils que je connais basés sur gnome, gtk et compagnie, pour reprendre l'exemple de Variables_dans_ce_style1 , si je clique sur "style", cela sélectionne uniquement le mot style, et non pas la variable complète (sur les trucs basés sur qt, cela sélectionne tout). Du coup c'est super lourd pour travailler avec cela.
--
"Every line of code that is written to our standards is a small victory ; every line of code that is written to any other standard is a small defeat. "
Evangelism is War
-
[^]Re: _
Posté par titi toto (Jabber id, ) le 30/12/2007 à 20:03. (lien). Évalué à 1.Du coup j'utilise des _. Je trouve ça beaucoup plus facile à retenir alors avec les majuscules je dois chaque fois relire pour me souvenir du nom de la fonction/variable.
Ah, tandis qu'avec les '_', il te suffit d'en voir un pour te souvenir automatiquement de quoi il s'agit..
Genre "loopIndex" tu comprends pas, mais "loop_index", oui ?
Hé bé....-
[^]Re: _
Posté par ploum (page perso, ) le 30/12/2007 à 20:45. (lien). Évalué à 2.Ben oui. C'est juste de un mix de la mémoire visuelle/auditive. Je peux pas t'expliquer mais si tu me dit :
TheLoopIndex , j'ai du mal à lire, à comprendre, à retenir le nom et à retenir où sont les majuscules.
the_loop_index : là le vois tout de suite et je retiens car le "_" est un caractère qui a une signification (comme un espace).
C'est con mais pour les longs codes complexes, chez moi ça joue beaucoup.
(mais c'est entièrement subjectif et personnel. l'auteur du journal demandait notre avis perso après tout)
-
mmh
Ca dépend des conventions en cours dans les différents langages.
En C il me semble que le mixedCase est quasi-proscrit, l'habitude étant plutôt aux minuscules_avec_des_underscores.
En Python la convention recommandée (PEP 8) est CamelCase pour les noms de classe, et minuscules_avec_underscores pour les variables, fonctions et méthodes.
Note que le mixedCase est assez pénible quand tu as des attributs qui correspondent à des colonnes dans une base de données par exemple.
Par ailleurs avec un clavier AZERTY le mixedCase est plus pénible à taper que les minuscules_avec_underscores, car le '_' ne demande pas l'utilisation de la touche shift.
C'est vrai que dans les langages de mangeurs de quiche (Java, PHP), le mixedCase semble s'être imposé (de façon totalement absurde en PHP où les noms de fonctions sont de toute façon case-insensitive...).
-
[^]Re: mmh
Posté par Mildred (Jabber id, page perso, ) le 30/12/2007 à 22:39. (lien). Évalué à 1.Ça dépend de ton clavier AZERTY ... Sur le mien, le '_' est obtenu avec la touche majuscule (au dessus du '-').
Re:
Ça dépend.
Pour une lib j'utilise souvent le MixedCase. Pour le reste, j'utilise le pas_mixed_case.
Je préfère le pas_mixed_case. Mais c'est un détail. Un choix de nom de variable (ou famille de variables), qu'il soit MixedCase ou non, est beaucoup plus important.
L'intérêt du MixedCase, et notamment pour des langages type C++, est que les noms sont plus courts :
MaClasseQuiVaBien::EtUneVariableMemble
ma_classe_qui_va_bien::et_une_variable_memble
-
[^]Re: Re:
Posté par Nicolas Schoonbroodt (Jabber id, page perso, ) le 29/12/2007 à 22:56. (lien). Évalué à 2.CEst_quoiUneVariable_membLe ? --> []
--
[ Répondre ] Ce commentaire est-il impertinent ou utile ?
J'utilise des -
Je mets des moins entre les mots, du genre :
combinateur-y
Question qui fait gagner un séjour gratuit sur le bouchot dont rêve toute moule : Dans quel langage ?
-
[^]Re: J'utilise des -
-
[^]Re: J'utilise des -
-
[^]Re: J'utilise des -
Posté par Gof (Jabber id, page perso, ) le 02/01/2008 à 17:47. (lien). Évalué à 2.Il n'y a pas de noms de variables en Brainfuck
-
-
[^]Re: J'utilise des -
Posté par z a (Jabber id, ) le 30/12/2007 à 10:29. (lien). Évalué à 2.Scheme \o/ (et peut-être Lisp)
-
[^]Re: J'utilise des -
Posté par MrLapinot (Jabber id, page perso, ) le 30/12/2007 à 11:08. (lien). Évalué à 2.En tout cas, pour parler de combinateur-y, c'est forcément un langage fonctionnel :-)
-
[^]Re: J'utilise des -
Posté par alenvers () le 30/12/2007 à 17:10. (lien). Évalué à 2.LISP. Séjour gagné suivez le guide : http://linuxfr.org/board/ .
-
Nommage en C, le langage des vrais hommes
Pour ma part, c'est à la GLib/GTK+ mais c'est une pure coïcidence car j'ai toujours procédé ainsi :
- Les nom de type de typedef et structure : CommeÇa
- Les variables, xCommeÇa avec x variant selon le type (genre u pour unsigned, i pour signed, p pour pointeur, s pour structure, v pour les vecteurs, pc pour les chaînes toussa, tu as compris le truc).
- Les fonctions, comme_ça()
- les macros, COMME_ÇA
Ah oui, ça c'est pour du C mais quand je fais du C++, c'est à dire rarement, les noms de classe, c'est comme les structures, c'est CommeÇa, parce que j'suis comme ça moi, faut pas m'faire chier !
-
[^]http://tinyurl.com/2a9mda
Posté par Krunch (Jabber id, page perso, ) le 30/12/2007 à 16:45. (lien). Évalué à 1.- Les variables, xCommeÇa avec x variant selon le type (genre u pour unsigned, i pour signed, p pour pointeur, s pour structure, v pour les vecteurs, pc pour les chaînes toussa, tu as compris le truc).
Faut croire que tu n'as pas compris l'intérêt de la notation hongroise.
http://www.joelonsoftware.com/articles/Wrong.html
On en a aussi parlé ici : https://linuxfr.org/~ginkyo/23454.html#790998
Le préfixe est censé refléter l'usage qu'on fait de la variable et non son type.
--
Free Softwares Users Group Arlon (Sud Luxembourg, Belgique)
pertinent, e adj. Approprié ; qui se rapporte exactement à ce dont il est question.
re: mixedCase or not ?
Il n'y a pas que ce problème...
Déjà les noms de variable... je m'efforce d'utiliser la langue anglaise ce qui a tendance à donner des noms de variables qui ne veulent rien dire...
Les espaces ou tabulation, j'ai été habitué à utiliser des espaces bien qu'il semble évident que les tabulations soient mieux :
Chaque dev peut mettre la largeur qu'il veut dans son éditeur. Plus rapide à taper si l'éditeur n'est pas foutu d'indenter comme un grand.
Maintenant mes codes sources se prennent régulièrement des :%s/ /\t/g histoire d'homogénéiser.
Les accolades en C/C++/Java/PHP...
J'ai appris en C à utiliser la forme (on regarde que les accolades) :
void ma_fonction(int param)
{
int i;
for(i = 0; i < 10; i++)
{
printf("%d", i);
}
}
Mais ensuite j'ai dev un projet avec Gtk et j'ai suivit les recommandations du coup c'est devenu un truc du genre :
void ma_fonction(int param)
{
int i;
for(i = 0; i < 10; i++){
printf("%d", i);
}
}
Et enfin, je me suis mis au Java ce qui me donne :
void ma_fonction(int param) {
int i;
for(i = 0; i < 10; i++) {
System.out.println(i);
}
}
Alors personnellement, je suis plutôt en faveur de :
blabla
{
mon code;
}
Car si blabla est un test, on peut le commenter rapidement //blabla pour que le block s'exécute en permanence. (parfois utile pour débuguer)
Ça donne un code plus aéré et les blocks sont mieux mis en valeur.
Mais bon, avant chaque projet, j'en parle avec les autres pour qu'on se mette d'accord car après tout, je suis capable de m'adapter.
À noter que lorsqu'on dev avec Eclipse en Java, on a droit à des warning concernant le nommage de nos classes et packages (concernant la casse);
(À savoir aussi que j'ai appris à coder sur le net, en cours tout ce que j'ai appris c'est l'ADA...)
underscores !
Je trouve le CamelCase franchement illisible.
Pourquoi pas un mélange des genres ? Au contraire ça permettrait de bien dissocier mes_fonctions de cellesDeLaLib. Le coding-style parfaitement homogène, si c'est pour s'imposer des règles qu'on ne supporte pas...
Sinon, emacs propose le "glasses-mode" qui remplace (visuellement) les identifiants camelCase par leur équivalents en underscore (camel_Case). Par contre ça pose quelques problèmes de cohérence: est-ce qu'on travaille sur l'original ou le proxy underscoré ? ("search" fonctionne avec le terme d'origine, mais les query-replace ne marchent plus du tout...). Les autres éditeurs ont peut-être un équivalent.

Les journaux sont destinés à des informations qui ne sont pas suffisamment intéressantes
pour être validées en dépêche (sinon n'hésitez pas à proposer votre information en
dépêche), qui sont sans rapport avec Linux ou le libre, ou simplement pour donner votre
avis. Si vous désirez poser une question, merci d'utiliser 
Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.