Eu tinha a mesma pergunta e, depois de ler todas as respostas aqui, definitivamente fico com o SINGULAR, motivos:
Motivo 2 . (Conveniência). é mais fácil sair com nomes no singular do que no plural. Objetos podem ter plurais irregulares ou não plurais, mas sempre terão um singular (com poucas exceções como News).
- Cliente
- Encomenda
- Usuário
- Estado
- Notícias
Motivo 3 . (Estética e Ordem). Especialmente em cenários mestre-detalhe, isso lê melhor, alinha melhor por nome e tem uma ordem mais lógica (mestre primeiro, detalhe depois):
- 1.Pedido
- 2.Detalhes do pedido
Comparado com:
- 1.Detalhes do pedido
- 2.Pedidos
Motivo 4 (Simplicidade). Juntando tudo, nomes de tabelas, chaves primárias, relacionamentos, classes de entidades... .)
Customer
Customer.CustomerID
CustomerAddress
public Class Customer {...}
SELECT FROM Customer WHERE CustomerID = 100
Quando você souber que está lidando com "Cliente", pode ter certeza de que usará a mesma palavra para todas as suas necessidades de interação com o banco de dados.
Motivo 5 . (Globalização). O mundo está ficando menor, você pode ter uma equipe de diferentes nacionalidades, nem todo mundo tem o inglês como língua nativa. Seria mais fácil para um programador não nativo de inglês pensar em "Repositório" do que em "Repositórios" ou "Status" em vez de "Status". Ter nomes singulares pode levar a menos erros causados por erros de digitação, economizar tempo por não ter que pensar "é criança ou criança?", melhorando assim a produtividade.
Motivo 6 . (Por que não?). Ele pode até economizar tempo de escrita, economizar espaço em disco e até mesmo fazer o teclado do computador durar mais!
SELECT Customer.CustomerName FROM Customer WHERE Customer.CustomerID = 100
SELECT Customers.CustomerName FROM Customers WHERE Customers.CustomerID = 103
Você salvou 3 letras, 3 bytes, 3 toques extras no teclado :)
E, finalmente, você pode nomear aqueles que estão bagunçando com nomes reservados como:
- Usuário> LoginUser, AppUser, SystemUser, CMSUser,...
Ou use os infames colchetes [Usuário]