Isso é um pouco pedante, mas já vi algumas pessoas usarem Id
como:
private int userId;
public int getUserId();
e outros usam:
private int userID;
public int getUserID();
Um desses nomes é melhor que o outro? Por quê? Eu já vi isso ser feito de maneira inconsistente em grandes projetos. Se eu estabelecesse um padrão com o qual a maioria das pessoas estaria familiarizada? Qual é o padrão convencional?
coding-style
naming
variables
Adão
fonte
fonte
SAXParser
eDOMException
, .NET nomeia classes comoXmlDocument
. Com base nisso, eu diria "ID" em Java, "Id" em C #.EGO
eSuperEGO
? Eu acho que não. ;)Respostas:
A regra mais importante a seguir nesses casos é a consistência: faça como todo mundo faz.
Por exemplo, observe as APIs XML do seu idioma para ver como elas o fazem.
Java nomeia classes como SAXParser e DOMException , .NET nomeia classes como XmlDocument .
Com base nisso, eu diria "ID" em Java, "Id" em C #.
No entanto, vi que o Java EE 6 tem uma anotação chamada
@Id
(consulte a documentação ), portanto, parece que o Java considera "Id" apenas uma palavra normal.fonte
@Id
diz que é uma palavra única, portanto o nome da variável seria "id".Id
em C # (e .NET em geral), mas por um motivo diferente. A regra é colocar em maiúscula todas as letras de um acrônimo de 2 letras (por exemploIPAddress
) e apenas em maiúscula a primeira letra de acrônimos mais longos (como no exemplo queXmlDocument
você forneceu). MasId
eOk
são as exceções a esta regra, especificamente mencionadas. Para o resumo completo, consulte aCapitalization Rules for Acronyms
seção doCapitalization Conventions
artigo. Mas até mesmo a Microsoft quebra essa regra (por exemploDbConnection
vs.DBNull
)A consistência é rei; escolha um ou outro, mas faça-o de maneira consistente em todos os lugares.
Dito isso, prefiro a primeira variação, porque ela não viola o camelCase (isso significa que você tem duas regras de estilo para se lembrar, não apenas uma).
Às vezes, duas letras maiúsculas são usadas por causa disso , mas um ID é realmente apenas uma forma de identificação de identificação.
fonte
userIdOfSender
SenderUserId
TL; DR: No contexto das bibliotecas de classes .NET, a Microsoft recomenda que você use o ID. Isso é um pouco contra-intuitivo, pois é um exemplo raro de abreviação que é permitido / recomendado (abreviações geralmente são desaprovadas).
Se estamos falando de convenções da biblioteca de classes C # ou .NET, a Microsoft tem algumas diretrizes de nomenclatura bastante bem definidas disponíveis. Eles são bem pensados, com muitas explicações sobre uma variedade de questões - na verdade, todo desenvolvedor deve levar algum tempo para ler a seção inteira das Diretrizes de design .
Quando se trata de acrônimos , a regra geral é: para acrônimos de duas letras, você tende a mantê-los em maiúsculas (onde o caso Pascal é aplicável); portanto, por exemplo,
IOStream
pode ser o nome de uma classe. Para um acrônimo mais longo, você diminui o resto do acrônimo, por exemplo,XmlDocument
ouHtmlParser
. Essa é, na verdade, uma regra quase inequívoca (não há confusão sobre onde uma palavra termina e a próxima começa, a menos que você esteja encadeando siglas de duas letras), e você se acostuma rapidamente.Então, é ID ou Id? Bem, de acordo com a Microsoft, pode não ser o que você pensa:
Curiosamente, não tenho certeza de quando essa distinção começou a aparecer nas diretrizes, mas, alguns anos atrás (em torno de 3,0 / 3,5), a tendência geral de nomes nas bibliotecas de classes passou de ID para Id.
fonte
Li uma explicação muito boa no documento de algumas convenções de codificação. O CamelCase sempre deve ser usado para acrônimos e abreviações, porque é mais fácil distinguir os limites das palavras (compare
XmlIdWriter
comXMLIDWriter
).fonte
xml_id_writer
.Como podemos ver na função padrão do JavaScript getElementById (); Id está escrito no caso Camel ...
Use 'id' se estiver usando um sublinhado. Exemplo: user_id
Use 'Id' se nomear um var sem sublinhado para diferenciar as diferentes palavras. Exemplo: userId
Se for uma variável de palavra única, ela deve estar em minúsculas completa, se várias palavras var forem usadas em minúsculas Camel. Exemplo: thisIsExample
Mas eu não recomendaria 'ID' tudo no CAPS, porque geralmente usamos todos os limites para definir CONSTANTES.
fonte
Primeiro, evite a abreviação.
Segundo, se a abreviação for super conhecida, recomendo usar camel case.
Isso porque você não precisa considerar o significado disso. apenas trate como uma palavra normal
fonte