Convention de nommage des noms de fonctions

Quelle convention préférez-vous

1 Au pluriel
6
75%
2 Le type en suffixe
0
Aucun vote
3 Un suffixe générique
1
13%
4 Autrement
1
13%
 
Nombre total de votes : 8


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Convention de nommage des noms de fonctions

Message le Mer Fév 16, 2011 15:59

Bonjour,

Lorsque que vous créez une fonction qui retourne un utilisateur on peut imaginer :
- getUser()
- getUtilisateur()


Mais lorsque que vous retourner une série d'utilisateurs comment nommez-vous votre fonction ?

1/ Avec la règle du "s" ?
- getUsers()
- getUtilisateurs()


Ok mais si vous utilisez un outils qui génère vos métodes automatiquement avec la règle du "s", les exceptions françaises deviennent ridicules.
- getChevals()

2/ Au singulier avec le type en suffixe ?
- getUserArray()
- getUtilisateurArray()


Pourquoi pas, mais je n'aime pas !
Si demain on vient à modifier le type retourné, le nom de la fonction n'est plus bon (ok faudra changer les traitements qui en découlent).
Et je n'aime pas, car c'est comme si on venait à écrire...
- getIdInterger()

3/ Au singulier avec un suffixe explicite ?
- getUserAll()
- getUserCol() pour collection (mais c'est aussi un type)
- ...

J'ai une préférence pour la convention 3, et vous ?
Vous posez vous ce genre de question ?

Merci,
Dorian


Axiso
WRInaute impliqué
WRInaute impliqué
 
Messages: 594
Inscription: 8 Avr 2004

Re: Convention de nommage des noms de fonctions

Message le Jeu Fév 17, 2011 8:26

Au pluriel, quitte à avoir des getStatuss(). Contrairement à ce qu'ils disent chez Wordpress, pour moi le code ce n'est pas de la poésie.


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Re: Convention de nommage des noms de fonctions

Message le Jeu Fév 17, 2011 10:13

Aïe, oui, c'est moche :)
Je n'avais pas pensé à ce cas


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Re: Convention de nommage des noms de fonctions

Message le Jeu Fév 17, 2011 11:25

Dans certains frameworks avec ORM (CakePHP, CI, RoR, Lithium, Akelos, ...), on utilise ce qu'on appelle un "Inflector" pour avoir le singulier/pluriel/CamelCase.

Donc je dirais la règle 1, en pensant au pluriels irréguliers:

getCountry() => getCountries()
getStatus() => getStatuses()
getPost() => getPosts()

http://blog.eval.ca/2007/03/03/php-pluralize-method/
http://kuwamoto.org/2007/12/17/improved-pluralizing-in-php-actionscript-and-ror/
http://flourishlib.com/docs/fGrammar


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Re: Convention de nommage des noms de fonctions

Message le Jeu Fév 17, 2011 16:43

Merci pour cette réponse spout.
C'est justement avec Doctrine ORM que j'avais rencontré ce soucis de pluriel qui revient fréquemment même sur des fonctions écrites à la main.
Cela me permet de confirmer mon choix (du suffixe) car je ne veux pas m'embêter à gérer des exceptions grammaticales.
Les exceptions sont causes de problèmes et pertes de temps.


screuscreu
WRInaute impliqué
WRInaute impliqué
 
Messages: 968
Inscription: 14 Jan 2008

Re: Convention de nommage des noms de fonctions

Message le Jeu Fév 17, 2011 23:37

spout a écrit:Dans certains frameworks avec ORM (CakePHP, CI, RoR, Lithium, Akelos, ...), on utilise ce qu'on appelle un "Inflector" pour avoir le singulier/pluriel/CamelCase.

Donc je dirais la règle 1, en pensant au pluriels irréguliers:

getCountry() => getCountries()
getStatus() => getStatuses()
getPost() => getPosts()

http://blog.eval.ca/2007/03/03/php-pluralize-method/
http://kuwamoto.org/2007/12/17/improved-pluralizing-in-php-actionscript-and-ror/
http://flourishlib.com/docs/fGrammar


Moi j'utilise CakePHP intensivement et oui cela marche bien ... mais au final pour gagner du temps je' n'hésite plus à faire du getStatuss ... tant pis pour les poètes ;)


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Re: Convention de nommage des noms de fonctions

Message le Ven Fév 18, 2011 11:58

Ahhh un autre utilisateur de CakePHP sur WRI :D
Avec la convention (over configuration) ça devrait être getStatuses()

poulpe
WRInaute discret
WRInaute discret
 
Messages: 90
Inscription: 29 Juin 2004

Re: Convention de nommage des noms de fonctions

Message le Ven Fév 18, 2011 18:38

Pour ma part, j ajoute que je n'ecris jamais du code en FR, tous les commentaires, noms de methodes, variables etc sont en anglais, c est plus simple pour les projets d equipes ou tout le monde ne parle pas francais. Si on se retrouve avec chaque dev qui ecrit dans sa propre langue ca devient complique...


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité