¿Cómo un caso de camello donde las palabras consecutivas tienen números?

21

Me pregunto si alguien tiene una buena convención que seguir en este caso de esquina a esquina. Realmente uso Java, pero pensé que la gente de C # también podría tener una buena idea.

Digamos que estoy tratando de nombrar una clase donde dos palabras consecutivas en el nombre de la clase son numéricas (tenga en cuenta que la misma pregunta podría hacerse sobre los nombres de los identificadores). No se puede obtener un gran ejemplo, pero piense en algo como "IEEE 802 16 bit value".

La combinación de siglas consecutivas es factible si acepta nombres de clase como HttpUrlConnection. Pero en serio me hace vomitar un poco pensar en nombrar a la clase IEEE80216BitValue. Si tuviera que elegir, diría que es aún peor de lo IEEE802_16BitValueque parece un mal error. Para números pequeños, lo consideraría, IEEE802SixteenBitValuepero eso no escala tan bien.

¿Alguien por ahí tiene una convención? Parece que las pautas de nomenclatura de Microsoft son las únicas que describen los nombres de acrónimos con suficiente detalle para hacer el trabajo, pero nadie ha abordado los números en los nombres de clase.

Rob I
fuente
1
Probablemente no sobre el tema de SO, sigue siendo una pregunta interesante.
CodesInChaos
3
Probablemente iría _si fuera necesario. Todo lo demás en lo que puedo pensar (excepto reordenar cuando sea posible) es aún peor. En su ejemplo Ieee802Value16Bites lo que haría en su ejemplo.
CodesInChaos
Ups Me imaginé que con la existencia de una etiqueta de convenciones de nombres, estaba lo suficientemente cerca del tema como para preguntar al menos. :)
Simple: no use la funda de camello. Hoy no hay razón para ello porque los enlazadores no están restringidos a 6 caracteres en nombres externos. Evito las letras mayúsculas incrustadas en los nombres; para mis ojos de prosa, son demasiado incómodos para leerlos cómodamente. Suenan como una mala tipografía. - Rob Pike, "Notas sobre la programación en C"
44
@Kaz Estamos hablando de C # / Java aquí. También la belleza está en el ojo del espectador. Personalmente creo que _es más feo que camelCase o PascalCase.
CodesInChaos

Respuestas:

12

Descubriría un nuevo nombre de variable en lugar de tratar de averiguar qué convención de nomenclatura usar para una variable de doble número

Dicho esto, si TENÍA que usar un número doble en mi nombre de variable, y no pudiera reorganizar las palabras / números para encontrar algo razonable, y absolutamente ningún otro nombre tendría sentido, usaría un _entre números

...

De hecho, lo retiré, simplemente descubriría un nuevo nombre de variable :)

Rachel
fuente
77
+1 Hacemos que el equipo de red funcione, por lo que uno pensaría que los nombres de clase relacionados con los estándares surgen mucho, pero no recuerdo haber tenido este problema, así que revisé nuestra base de código. En lugar de prefijos como IEEE802, usamos palabras esotéricas como "Ethernet" :-)
Karl Bielefeldt
1
¿Qué hay de SHA-512/256o SHA3-256? Me cuesta encontrar nombres que no contengan un _.
CodesInChaos
3

Yo personalmente iría por la ruta de subrayado, por ejemplo IEEE_802_16_BitValue. Actualmente se trata de modelar algunas arquitecturas de CPU, este Q fue un buen momento :-)

Martijn Verburg
fuente
2

He usado alguna letra para delimitar números consecutivos. Para mí sería Ieee802x16bit( no IEEE802x16bit ). Creo que es menos molesto que una barra inferior solitaria en medio de una jungla de letras y dígitos.

Variable miserable
fuente