2009-02-26 15 views

Respuesta

10

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

+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

0

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.

2

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.

5

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.

+0

"this" es un puntero en C++. –

+0

Derecha. Corregirá –

2

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.

0

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

Cuestiones relacionadas