Convenção de Nomenclatura Arbitrária (Objetos de Negócios)
Pergunta
Ok, você faz Business.Name
ou Business.BusinessName
SubCategory.ID
ou SubCategory.SubCategoryID
E no seu banco de dados?
Por que?
Estou dividido com ambos.Adoraria que houvesse uma "resposta certa"
Solução
A principal desvantagem de usar ID, Nome, etc. é que você precisa qualificá-los com o nome da tabela se estiver escrevendo uma junção SQL que se sobrepõe a duas tabelas.
Apesar disso, acho muito mais conciso e legível usar apenas ID e Nome - seu código e tabelas 'fluirão' com muito mais facilidade pelos olhos.Mais fácil de digitar e menos redundante.E digitando SELECT Business.Name FROM ...em uma consulta SQL não é mais problemático do que digitar SELECT BusinessName FROM ...
Em geral, se me pego repetindo uma informação semântica, isso me alerta para procurar maneiras de eliminá-la ou pelo menos reconhecer por que ela se repete.Isto pode ser em pequena escala (nomes de atributos) ou em grande escala (padrões de comportamento ou estruturas de classes comuns).
Outras dicas
A única resposta “certa” é ser consistente.Decida antecipadamente qual você usará em um projeto e cumpra-o.
Para propriedades muito comuns como "Nome" e "ID", a convenção que utilizei é não colocar o nome da entidade no campo.Para propriedades mais incomuns, coloco o nome da entidade.
Essa é uma decisão de convenção de nomenclatura, mas não me arrependi de projetos onde essa é a convenção, se colocar o nome da entidade para cada ID acaba parecendo muito detalhado.
identificamos qualquer coisa que seja a chave primária.Dizer SubCategory.SubCategoryID parece redundante,
Posso não estar certo, mas acho que Id é um prato mais saboroso.
coisa.id
porque se você vai escrever qualquer material reflexivo que lide com seus objetos e precise de chave primária, é muito mais fácil conhecê-lo em todos os lugares do que tentar determiná-lo com uma fórmula.
Quanto ao outro, isso é preferência total e não vejo nenhuma implicação real além do tempo perdido digitando os outros caracteres e seu .net, para que ninguém realmente digite namespaces de qualquer maneira.