Il m'est toujours difficile de choisir entre des formes singulières et plurielles pour les noms de classes:
CustomerRepository vs. CustomersRepository CustomerService vs. CustomersService CustomerController vs. CustomersController
Et pour les noms composites, c'est encore plus difficile:
OrderCustomerRepository vs OrderCustomersRepository vs OrdersCustomersRepository
Quelle approche préférez-vous et pourquoi?
naming
source-code
SibérienGuy
la source
la source
Réponses:
La seule chose que je pluralise, ce sont les collections.
Tous vos exemples sont des objets individuels, ils ne sont donc pas pluralisés. Oui, les noms font référence à des objets pouvant avoir plusieurs instances, mais tout ce que vous devez savoir dans le nom est l'entité d'objet (c.-à-d. Le client).
Donc, dans tous vos exemples, le singulier est la forme correcte. Rend la vie beaucoup plus facile.
la source
customerCollection
pour les collections, mais pour le reste, je suis d'accord. C'est une pratique exemplaire en matière de conception de base de données et fonctionne également très bien en code.Collection
quoiIterator
?Iterator
serait une sorte de co-routine plutôt qu'une structure de données pour contenir plusieurs objets, non?Utilisez singulier. L’outil pour tourner les vis avec est appelé "tournevis" et non pas "tournevis".
Cependant, pluralisez vos noms de méthode et de propriété en conséquence, pour indiquer si une valeur ou une collection d'entre elles sera renvoyée.
la source
Vraiment singulier. Vous ne créez pas d'objet de
People
, vous créez une collection d'Person
objets. La seule fois où j'utiliserais des pluriels serait pour des classes statiques, c'est-à-direSupportServices
,StringUtils
etc. Cependant, dans ce cas, la classe agit plus comme un espace de noms qu'autre chose.la source
Rappelez-vous qu'une classe est un modèle pour un objet. Alors pensez à l'objet auquel vous faites référence.
C'est souvent une entité singulière, surtout lorsqu'il s'agit d'une entité ORM. Parfois, cela pourrait être une collection.
Je crois que la réponse est spécifique au contexte.
la source