it-swarm.com.de

Klassenbenennung: Singular oder Plural?

Es fällt mir immer schwer, zwischen Singular- und Pluralformen für Klassennamen zu wählen:

CustomerRepository vs. CustomersRepository
CustomerService vs. CustomersService
CustomerController vs. CustomersController

Und für zusammengesetzte Namen ist es noch schwieriger:

OrderCustomerRepository vs. OrderCustomersRepository vs. OrdersCustomersRepository

Welchen Ansatz bevorzugen Sie und warum?

66
SiberianGuy

Das einzige, was ich pluralisiere, sind Sammlungen.

foreach (var customer in customers)
{
    // do something with customer
}

Alle Ihre Beispiele sind einzelne Objekte, daher werden sie nicht pluralisiert. Ja, die Namen beziehen sich auf Objekte, die möglicherweise mehrere Instanzen haben, aber alles, was Sie im Namen wissen müssen, ist die Objektentität (d. H. Der Kunde).

In all Ihren Beispielen ist der Singular ist die richtige Form. Erleichtert das Leben erheblich.

76
Robert Harvey

Verwenden Sie Singular. Das Werkzeug zum Drehen von Schrauben heißt "Schraubendreher", nicht "Schraubendreher".

Pluralisieren Sie jedoch Ihre Methoden- und Eigenschaftsnamen entsprechend, um anzugeben, ob ein Wert oder eine Sammlung davon zurückgegeben wird.

69
back2dos

Auf jeden Fall einzigartig. Sie erstellen kein Objekt von People, sondern eine Sammlung von Person Objekten. Das einzige Mal, dass ich Pluralformen verwenden würde, wären statische Klassen, d. H. SupportServices, StringUtils usw. In diesem Fall fungiert die Klasse jedoch mehr als ein Namespace als alles andere.

8
Rob

Denken Sie daran, dass eine Klasse eine Vorlage für ein Objekt ist. Denken Sie also an das Objekt, auf das Sie sich beziehen.

Oft ist es eine singuläre Entität, insbesondere wenn es sich um eine ORM-Entität handelt. Manchmal könnte es eine Sammlung sein.

Ich glaube, die Antwort ist kontextspezifisch.

2
indi