¿Es incorrecto usar m_varname como público y la misma clase con _variable como privadaconvención de nomenclatura para variable pública y privada?
Respuesta
algunas preocupaciones:
¿Por qué tienen las variables públicas?
Los identificadores que comienzan con _ y __ están reservados para las bibliotecas del sistema. En la práctica, esto no importa muy a menudo, pero es bueno estar al tanto.
Dicho lo que se dice, no hay nada de malo en crear una convención de nomenclatura, independientemente de cómo se vea. Solo sé consistente.
+1 para la sugerencia de coherencia. Podría tener la peor convención de nomenclatura alguna vez, pero si es consistente, mejorará la capacidad de mantenimiento del código. – Spidey
Suponiendo que está trabajando con C++, la respuesta es NO. Es perfectamente razonable, pero deberías apegarte a esa convención.
Sin embargo, los lenguajes tipados estáticos como C# suponen que tales convenciones de nombres son algo redundantes.
Personalmente, creo que es feo, pero no es evidente de dónde viene una variable en C++, por lo que el azúcar puede ayudar.
Todos tienen sus propias preferencias en lo que se refiere a las convenciones de nombres. Yo diría que más personas estarían de acuerdo en no tener variables públicas en una clase.
Lo mismo vale para C++ y Java: no necesita ninguna notación húngara ni ningún prefijo/sufijo. ¡Tienes la palabra clave "esto"!
class MyClass {
private:
int value;
public:
MyClass(int value) {
this->value = value;
}
}
Por supuesto, en este sencillo ejemplo se puede (debe!) Utiliza la lista de inicialización del constructor;)
Así, en lugar de utilizar las anotaciones incómodas simplemente emplean las posibilidades del lenguaje. Cuando conoces el nombre de tu variable miembro, sabes que es perfecto. ¿Por qué lo ofuscarías con "_"?
En cuanto a utilizar los mismos nombres para los miembros públicos y privados: este pensamiento absolutamente equivocado! ¿Por qué uno necesitaría dos cosas para representar lo mismo en la misma clase? Haga que sea privado, asígnele un nombre perfecto y pídales a los captadores y establecedores públicos.
"this" es un puntero en C++. –
Derecha. Corregirá –
No debe usar nombres que comiencen con un guión bajo o que contengan un guion bajo doble. Esos nombres están reservados para el compilador y la implementación. Además de esa restricción, puede usar cualquier convención de nomenclatura que le guste a usted y a su equipo. Personalmente, odio cualquier forma de notación "húngara" y no me gusta la notación m_alguno. Realmente me molesta que si necesito cambiar el tipo de variable necesito ir a actualizar su nombre donde sea que ocurra. Eso es un dolor de cabeza de mantenimiento.
Existen muchas convenciones de C++. La clave es encontrar uno y/o adaptar uno. Quédese con eso y sea consecuente. Si está trabajando en algún lugar, intente obtener la mayoría de las convenciones establecidas. Hay tantos por ahí, y cada uno tiene buenos argumentos, pero pueden contradecirse entre sí (Joint Strike Fighter, Bell Labs, Mozilla, etc.)
Si hay diferentes convenciones entre las diferentes partes del proyecto , al menos haga que cada archivo sea coherente consigo mismo, y los archivos .cpp y .h deben ser coherentes entre sí.
me parece que sería mejor ser capaz de entender el código escrito por diferentes convenciones para que pueda adaptarse fácilmente a un nuevo ambiente de trabajo más rápido
- 1. Variable de nomenclatura, mejor convención
- 2. variable constante de Java, convención de nomenclatura
- 3. Javascript acceso función privada variable pública
- 4. F # convención de nomenclatura
- 5. Convención de nomenclatura para campos privados
- 6. serialVersionUID convención de nomenclatura
- 7. Convención de nomenclatura para widgets de Qt
- 8. Convención de nomenclatura para vistas de Django?
- 9. Eventos: convención y estilo de nomenclatura
- 10. Convención de nomenclatura para restricción única
- 11. convención de nomenclatura para patrones comunes?
- 12. Convención de nomenclatura para objetos en java
- 13. Java: convención de nomenclatura para accesors
- 14. convención de nomenclatura para mayúsculas abreviaturas
- 15. Convención de nomenclatura para params de ctors y setters
- 16. identidad SqlServer convención de nomenclatura
- 17. privada/pública qt señales
- 18. Enum convención de nomenclatura - Plural
- 19. Proyectos/Convención de nomenclatura de paquetes?
- 20. Generar privada y la clave pública OpenSSL
- 21. Uso de Mercurial para separar la versión privada y pública
- 22. keytool - vea las claves pública y privada
- 23. C++ - Sobrecarga Constructor - privada y pública
- 24. Convención de nomenclatura para un diccionario de C#
- 25. convención de nomenclatura de recursos XAML
- 26. Convención de nomenclatura de Microsoft VB.NET
- 27. paquete de pruebas unitarias convención de nomenclatura
- 28. ¿Convención de nomenclatura de ID en ASP.NET?
- 29. convención de nomenclatura de clase extendida óptima?
- 30. convención de nomenclatura DAO de Spring-Hibernate?
estoy acostumbrado a este estilo de codificación y me resulta muy cómodo y claro: http://www.trinitycore.org/f/topic/6-trinitycore-developing-standards/ – LihO