A variável deve ser identificada como Id ou ID? [fechadas]

113

Isso é um pouco pedante, mas eu vi algumas pessoas usando Id como em:

private int userId;
public int getUserId();

e outros usam:

private int userID;
public int getUserID();

Um desses é um nome melhor que o outro? Por quê? Eu vi isso feito de maneira muito inconsistente em grandes projetos. Se eu fosse definir um padrão com o qual a maioria das pessoas estaria familiarizada? Qual é o padrão convencional?

    
por Adam 07.02.2013 / 19:00
fonte

6 respostas

49

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 são feitas.

Classes de nomes Java como SAXParser e < href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/DOMException.html"> DOMException , o .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 documentação ), então parece que o Java considera o" Id "apenas uma palavra normal.

    
por 11.02.2013 / 22:30
fonte
107

Consistência é rei; escolha um ou outro, mas faça isso de forma consistente em todos os lugares.

Dito isso, eu prefiro a primeira variação, porque ela não viola o camelCase (isso significa que você tem duas regras de estilo para lembrar, não apenas uma).

Por vezes, são usadas duas letras maiúsculas devido a , mas uma ID é apenas uma forma de identificação.

    
por 07.02.2013 / 19:10
fonte
73

TL; DR: No contexto de bibliotecas de classes .NET, a Microsoft recomenda que você use o ID. Isso é um pouco contra-intuitivo, já que é um exemplo raro de uma abreviação que é permitida / recomendada (abreviações são geralmente desaprovadas).

Se estamos falando de convenções de biblioteca de classes C # ou .NET, a Microsoft tem algumas nomenclatura bem definidas diretrizes 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 todo o Design Guidelines seção.

Quando se trata de siglas , a regra geral é: para acrônimos de duas letras, você tende a mantê-los em maiúsculas (onde o caso Pascal é aplicável), por exemplo, IOStream pode ser o nome de uma classe. Por um acrônimo mais longo, você diminui o resto do acrônimo, por exemplo. XmlDocument ou HtmlParser . Esta é na verdade uma regra sem ambigüidade (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:

Acronyms differ from abbreviations in that an abbreviation shortens a single word. For example, ID is an abbreviation for identifier. In general, library names should not use abbreviations.

The two abbreviations that can be used in identifiers are ID and OK. In Pascal-cased identifiers they should appear as Id, and Ok. If used as the first word in a camel-cased identifier, they should appear as id and ok, respectively.

Não sei ao certo quando essa distinção começou a aparecer nas diretrizes, mas há alguns anos (em torno de 3.0 / 3.5) a tendência geral de nomenclatura nas bibliotecas de classes passou de ID para Id.

    
por 07.02.2013 / 19:42
fonte
14

Eu li uma explicação muito boa no documento de algumas convenções de codificação. O CamelCase deve ser sempre usado para siglas e abreviaturas, porque é mais fácil distinguir limites de palavras (compare XmlIdWriter a XMLIDWriter ).

    
por 07.02.2013 / 22:42
fonte
0

Como podemos ver na função padrão do JavaScript getElementById (); Id está escrito no caso do Camel ...

Use 'id' se estiver usando com um sublinhado. Exemplo: user_id

Use 'Id' se nomear um var sem qualquer sublinhado para diferenciar as diferentes palavras. Exemplo: userId

Se for uma variável de palavra única, ela deve estar em minúsculas completa, se var múltiplas palavras usar o caso de Camelo inferior. Exemplo: thisIsExample

Mas eu altamente não recomendaria 'ID' no CAPS porque geralmente usamos letras maiúsculas para definir CONSTANTS.

    
por 08.02.2013 / 10:39
fonte
0

Primeiro, evite a abreviação.

Em segundo lugar, se a abreviação é super bem conhecida, eu recomendo usar o caso de camelo.

Isso porque você não precisa considerar o significado disso. apenas tratar como uma palavra normal

    
por 23.02.2013 / 21:38
fonte