Convention de nommage des noms de fonctions

Quelle convention préférez-vous

  • 1 Au pluriel

    Votes: 0 0.0%
  • 2 Le type en suffixe

    Votes: 0 0.0%
  • 3 Un suffixe générique

    Votes: 0 0.0%
  • 4 Autrement

    Votes: 0 0.0%

  • Total voters
    0
WRInaute passionné
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
 
WRInaute passionné
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.
 
WRInaute accro
WRInaute passionné
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.
 
WRInaute impliqué
spout a dit:
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 ;)
 
WRInaute accro
Ahhh un autre utilisateur de CakePHP sur WRI :D
Avec la convention (over configuration) ça devrait être getStatuses()
 
WRInaute discret
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...
 
Discussions similaires
Haut