Como camelo-caso onde palavras consecutivas têm números?

21

Imaginando se alguém tem uma boa convenção a seguir neste caso de canto a canto. Eu realmente uso Java, mas achei que o pessoal do C # também poderia ter uma boa ideia.

Digamos que estou tentando nomear uma classe em que duas palavras consecutivas no nome da classe sejam numéricas (observe que a mesma pergunta pode ser feita sobre nomes de identificadores). Não é possível obter um ótimo exemplo, mas pense em algo como "IEEE 802 16 bit value".

A combinação de acrônimos consecutivos é possível se você aceitar nomes de classe como HttpUrlConnection. Mas seriamente me faz vomitar um pouco ao pensar em nomear a classe IEEE80216BitValue. Se eu tivesse que escolher, diria que é ainda pior do IEEE802_16BitValueque parece um erro grave. Para números pequenos, eu consideraria, IEEE802SixteenBitValuemas isso não escala tão bem.

Alguém aí tem uma convenção? Parece que as diretrizes de nomenclatura da Microsoft são as únicas que descrevem nomes de acrônimos com detalhes suficientes para realizar o trabalho, mas ninguém endereçou números nos nomes de classe.

Rob I
fonte
1
Provavelmente não no tópico SO, ainda é uma pergunta interessante.
CodesInChaos
3
Eu provavelmente iria com _se necessário. Tudo o que posso pensar (exceto reordenar sempre que possível) é ainda pior. No seu exemplo Ieee802Value16Bité o que eu faria no seu exemplo.
CodesInChaos
Opa Eu percebi que, com a existência de uma tag de convenções de nomenclatura, era perto o suficiente para entrar no tópico para pelo menos perguntar. :)
Simples: não use estojo de camelo. Hoje não há razão para isso, porque os vinculadores não estão restritos a 6 caracteres em nomes externos. Eu evito letras maiúsculas embutidas em nomes; aos meus olhos orientados para a prosa, eles são muito difíceis de ler confortavelmente. Eles balançam como tipografia ruim. - Rob Pike, "Notas sobre programação em C"
4
@Kaz Estamos falando de C # / Java aqui. Também a beleza está nos olhos de quem vê. Pessoalmente, acho que _é mais feio do que o camelCase ou o PascalCase.
CodesInChaos

Respostas:

12

Eu descobriria um novo nome de variável em vez de tentar descobrir qual convenção de nomenclatura usar para uma variável de número duplo

Dito isso, se eu tivesse que usar um número duplo no nome da variável e não pudesse reorganizar as palavras / números para criar algo razoável, e absolutamente nenhum outro nome faria sentido, eu usaria um _entre números

...

Na verdade, eu retiro, gostaria de descobrir um novo nome de variável :)

Rachel
fonte
7
+1 Como fabricamos equipamentos de rede no trabalho, é possível que os nomes de classes relacionados a padrões surjam muito, mas não me lembro de ter esse problema, então examinei nossa base de códigos. Em vez de prefixos como IEEE802, usamos palavras esotéricos como "Ethernet" :-)
Karl Bielefeldt
1
Que tal SHA-512/256ou SHA3-256? Estou tendo dificuldade em encontrar nomes que não contenham um _.
CodesInChaos
3

Eu pessoalmente iria para a rota de sublinhado, por exemplo IEEE_802_16_BitValue. Atualmente lidando com a modelagem de algumas arquiteturas de CPU, este Q foi um bom momento :-)

Martijn Verburg
fonte
2

Eu usei alguma letra para delimitar números consecutivos. Para mim, seria Ieee802x16bit( não IEEE802x16bit ). Eu acho que é menos perturbador do que uma barra solitária no meio de uma selva de letras e dígitos.

Variável miserável
fonte