Pregunta

¿Qué convenciones usas para nombrar operaciones de clase?

¿Fue útil?

Solución

Palabra completa Doc: Descargar C# Estándares de codificación y mejores prácticas

Convenciones y estándares de nombres

Nota: Los términos carcasa Pascal y carcasa de camello se utilizan en todo este documento. Carcasa de Pascal: el primer carácter de todas las palabras son mayúsculas y otros caracteres son minúsculas. Ejemplo: carcasa de camello de backcolor: primer carácter de todas las palabras, excepto que la primera palabra son mayúsculas y otros caracteres son minúsculas. Ejemplo: backcolor

  1. Use la carcasa de Pascal para nombres de clases

    clase pública HelloWorld {...}

  2. Use la carcasa de Pascal para los nombres de métodos

    void sayhello (nombre de cadena) {...}

  3. Use la carcasa de camello para variables y parámetros del método

    int totalCount = 0; void sayhello (nombre de cadena) {String fullMessage = "Hello" + Name; ...}

  4. Use el prefijo "I" con carcasa de camello para interfaces (Ejemplo: Ientity)

  5. No use notación húngara para nombrar variables.

En días anteriores, a la mayoría de los programadores les gustó: tener el tipo de datos como prefijo para el nombre de la variable y usar M_ como prefijo para las variables de miembros. P.ej:

cadena m_sname; int Nage;

Sin embargo, en los estándares de codificación .NET, esto no se recomienda. No se debe utilizar el uso del tipo de datos y M_ para representar las variables miembros. Todas las variables deben usar carcasa de camello.

Algunos programadores aún prefieren usar el prefijo M_ para representar las variables de los miembros, ya que no hay otra manera fácil de identificar una variable miembro.

  1. Use palabras significativas y descriptivas para nombrar variables. No use abreviaturas.

Bueno:

string address
int salary 

No es bueno:

string nam
string addr
int sal 
  1. No use nombres de variables de carácter único como I, N, S, etc. Use nombres como índice, temperatura

Una excepción en este caso sería las variables utilizadas para iteraciones en bucles:

for ( int i = 0; i < count; i++ )
{
 ...
}

Si la variable se usa solo como contador para la iteración y no se usa en ningún otro lugar en el bucle, a muchas personas todavía les gusta usar una única variable de char (i) en lugar de inventar un nombre adecuado diferente.

  1. No use subrapensos (_) para nombres de variables locales.

  2. Todas las variables de los miembros deben estar prefijadas con un guión bajo (_) para que puedan identificarse de otras variables locales.

  3. No use nombres de variables que se parezcan a las palabras clave.

  4. Variables, propiedades y métodos booleanos de prefijo con "IS" o prefijos similares.

Ej: bool privado _ISFINADO

  1. Los nombres del espacio de nombres deben seguir el patrón estándar

...

  1. Use el prefijo apropiado para los elementos de UI para que pueda identificarlos desde el resto de las variables.

Hay 2 enfoques diferentes recomendados aquí.

una. Use un prefijo común (UI_) para todos los elementos de UI. Esto lo ayudará a agrupar todos los elementos de la UI y fácil de acceder a todos los de Intellisense.

b. Use el prefijo apropiado para cada uno de los elementos UI. A continuación se da una breve lista. Dado que .NET ha dado varios controles, es posible que deba llegar a una lista completa de prefijos estándar para cada uno de los controles (incluidos los controles de terceros) que está utilizando.

Control Prefix
Label lbl
TextBox txt
DataGrid dtg
Button btn
ImageButton imb
Hyperlink hlk
DropDownList ddl
ListBox lst
DataList dtl
Repeater rep
Checkbox chk
CheckBoxList cbl
RadioButton rdo
RadioButtonList rbl
Image img
Panel pnl
PlaceHolder phd
Table tbl
Validators val
  1. El nombre del archivo debe coincidir con el nombre de la clase.

Por ejemplo, para la clase Helloworld, el nombre del archivo debería ser Helloworld.cs (o, Helloworld.vb)

  1. Use el caso Pascal para los nombres de los archivos.

  2. Sangría

  3. Use la pestaña para la sangría. No use espacios. Defina el tamaño de la pestaña como 4.

  4. Los comentarios deben estar en el mismo nivel que el código (use el mismo nivel de sangría).

Bueno:

// Format a message and display

string fullMessage = "Hello " + name;
DateTime currentTime = DateTime.Now;
string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
MessageBox.Show ( message );

No es bueno:

// Format a message and display
string fullMessage = "Hello " + name;
DateTime currentTime = DateTime.Now;
string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
MessageBox.Show ( message );
  1. Los aparatos ortopédicos rizados ({}) deben estar en el mismo nivel que el código fuera de los aparatos ortopédicos.

  2. Use una línea en blanco para separar grupos lógicos de código.

Bueno:

 bool SayHello ( string name )
 {
  string fullMessage = "Hello " + name;
  DateTime currentTime = DateTime.Now;

  string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();

  MessageBox.Show ( message );

  if ( ... )
  {
   // Do something
   // ...

   return false;
  }

  return true;
 }

No es bueno:

bool SayHello (string name)
 {
  string fullMessage = "Hello " + name;
  DateTime currentTime = DateTime.Now;
  string message = fullMessage + ", the time is : " + currentTime.ToShortTimeString();
  MessageBox.Show ( message );
  if ( ... )
  {
   // Do something
   // ...
   return false;
  }
  return true;
 }
  1. Debe haber una sola línea en blanco entre cada método dentro de la clase.

  2. Los aparatos ortopédicos deben estar en una línea separada y no en la misma línea que si, para etc.

Bueno:

if ( ... ) 
  {
   // Do something
  }

No es bueno:

if ( ... ) {
   // Do something
  }
  1. Use un solo espacio antes y después de cada operador y soportes.

Bueno:

if ( showResult == true )
  {
   for ( int i = 0; i < 10; i++ )
   {
    //
   }
  }

No es bueno:

if(showResult==true)
  {
   for(int    i= 0;i<10;i++)
   {
    //
   }
  }
  1. Use #región para agrupar piezas de código relacionadas. Si usa la agrupación adecuada usando #region, a la página le debe gustar cuando todas las definiciones se colapsan.

  2. Mantenga variables, propiedades y métodos de miembros privados en la parte superior del archivo y los miembros públicos en la parte inferior.

Otros consejos

Creo que hace que la vida de todos sea más fácil usar las mismas convenciones de nombres utilizadas por el lenguaje y el marco en el que está trabajando.

Por ejemplo, .net tiene un convención. Modele lo que hace su idioma y los "usuarios" de su código y bibliotecas serán más felices. Entonces, la respuesta puede ser, depende de su idioma y / o plataforma ...

Las convenciones de nombres son un tema controvertido, porque es una distinción arbitraria.

Las dos respuestas anteriores son buenas. Mi adición es esta:

Tu objetivo es la legibilidad. Su código cuenta una historia, aunque a veces aburrida. Asegúrese de que la historia esté clara.

Para más diversión, consulte estos enlaces:

http://www.joelonsoftware.com/articles/wrong.html

http://en.wikipedia.org/wiki/naming_convent_%28programming%29

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top