Publicado el 6 de Marzo del 2019
1.638 visualizaciones desde el 6 de Marzo del 2019
234,4 KB
6 paginas
Creado hace 11a (08/03/2013)
Convención de codificación en C# (Alumnos)
Ulman 2013
1. Convenciones de escritura para proyectos en .NET / C#.
Estilos de Letras Capitales
Definimos tres tipos de escritura de identificadores o palabras.
Pascal Case
La primera letra en la identificación y la primera letra de cada palabra concatenada subsiguiente se pone en mayúsculas.
Ejemplo:
BackColor, DataSet
Camel Case
La primera letra en la identificación es minúscula y la primera letra de cada palabra concatenada subsiguiente se pone en mayúsculas.
Ejemplo:
numeroDeDias, esValido
Upper Case
Todas las letras en el identificador deben ser en mayúsculas Use esta convención sólo en los identificadores que consisten en dos o
menos letras.
Ejemplo:
ID, PI
Notación Húngara
La notación húngara es una convención de identificación de las variables en un programa de computación. Esta especificación indica
que cada variable debe ir precedida por un indicador de 1 o más letras que especifican el tipo de variable.
Ejemplo:
strNombre;
intCantidad;
dblPrecioTotal;
string
int
double
Tipo de Dato Prefijo Ejemplo
int
long
byte
float
double
bool
char
string
DateTime
Tabla de Tipos de Datos de C# y su prefijo para la Notación Húngara.
intCantidad
lngIndice
bytData
fltTotalAnual
dblTotal
blnExiste
chrLetra
strNombre
dtmFechaDeNacimiento
int
lng
byt
flt
dbl
bln
chr
str
dtm
2. Convenciones de Nombramiento
Variables Privadas (Fields en C#)
Se debe utilizar Camel Case.
Se debe identificar a la variable con la Notación Húngara.
Se debe identificar con el Prefijo "_".
Ejemplo:
public class Cliente {
}
string _strNombre;
/// <summary>
/// Propiedad Public Nombre
/// </summary>
public string Nombre {
}
get {return _strNombre;}
set {_strNombre = value;}
v 2.0.2
// Por ser privadas de la clase(Fields) tiene "_".
1 de 6
Convención de codificación en C# (Alumnos)
Ulman 2013
string strReturnValue = "";
strReturnValue += "Este es un String... \n";
return strReturnValue;
using CompanyName.TechnologyName[.Feature][.Design];
using ORT.Buggy;
using ORT.Buggy.Windows;
using ORT.Buggy.SerialPort;
public class Cuadrado {}
public class Pantalla {}
public class Cliente {}
public class ClienteVIP {}
public class Factura {}
public override string ToString() {
}
Variables Locales
Se debe utilizar Camel Case.
Se debe identificar a la variable con la Notación Húngara
Ejemplo:
Namespaces
La regla general para el nombramiento de espacios de Nombres consiste en utilizar la compañía seguida de la Tecnología empleada.
Opcionalmente se puede indicar la característica y diseño.
Ejemplo:
Clases
Se debe utilizar un sustantivo para nombrar una clase.
Se debe utilizar Pascal Case.
No se debe utilizar ningún tipo de prefijo para denominar la clase como C o T.
No se debe utilizar el caracter (_).
Ejemplo:
Parámetros
Se deben utilizar nombres descriptivos para los nombres de los parámetros.
Se debe utilizar Camel Case.
Se debe identificar a los parámetros con la Notación Húngara
Ejemplo:
Métodos
Se deben utilizar verbos o frases con verbos para identificar a los métodos.
Se debe utilizar Pascal Case.
Ejemplo:
Enumeraciones
Se debe utilizar Pascal Case.
No se debe utilizar la notación Húngara.
Se debe utilizar el sufijo “Enum” en las enumeraciones.
Evite cambiar el tipo de dato de la enumeración. Por default es int
Ejemplo:
public enum ClientesEnum {
};
public void RemoveAll();
public bool Insertar();
public char GetCharAt();
public Factura GetUltimaFactura();
public bool Existe(int intCodigo, bool blnExtended) {}
public Cliente GetByCodigo(int intCodigo, bool blnExtended) {}
Codigo,
Nombre,
Orden ,
Activo
v 2.0.2
2 de 6
Convención de codificación en C# (Alumnos)
Ulman 2013
get {return _intCodigo;}
set {_intCodigo = value;}
_intCodigo;
// Por ser privadas de la clase(Fields) tiene "_".
_strRazonSocial; // Por ser privadas de la clase(Fields) tiene "_".
int
string
public int Codigo {
}
public string RazonSocial {
}
Propiedades
Se debe utilizar Pascal Case.
No se debe utilizar la notación Húngara.
Ejemplo:
public class Cliente {
}
Excepciones
Los Manejdores de Eventos en .NET tienden a utilizar “e” como parametro en la invocacion al evento. Para asegurarnos de que no
exista conflicto alguno con este parametro, utilizaremos “ex” como la variable estandar del tipo Exception.
Ejemplo:
private void Page_Load(object sender, System.EventArgs e){
get {return _strRazonSocial;}
set {_strRazonSocial = value;}
...
try{
}catch(Exception ex){
}
...
MessageBox.Show(ex.Message)
}
3. Notación de los controles Visuales:
Esta notación debe respetarse tanto para los controles Windows y Web.
Control
Button
Calendar
Checkbox
CheckBoxList
ComboBox
DataGrid
DataList
DateTimePicker
Dialog, ColorDialog, FontDialog
Image
Label
LinkLabel
ListBox
ListView
MainMenu
MenuItem
Panel
PictureBox
RadioButton
RadioButtonList
RichTextBox
Repeater
TabControl
TextBox
TreeView
ToolBar
Timer
Validators (Todos)
ValidationSummary
Prefijo Ejemplo
btnSave
calMyDate
chkMailList
chklAddress
cboProvincias
dtgClientes
dlstProductos
dtpFechaInicio
dlgFileSave, dlgColores
imgLogo
lblApellido
lblWebPage
lstCompany
lvwRecibos
mnuArchivo
mnuCerrar
panSection
picLogo
radSex
rblAgeGroup
rtbDocumento
repSection
tabUsuario
txtApellido
tvwDirectorios
tbrStatus
tmrSegundos
valCreditCardNumber
valsErrors
btn
cal
chk
chkl
cbo
dtg
dlst
dtp
dlg
img
lbl
lbl
lst
lvw
mnu
mnu
pnl
pic
rad
rbl
rtb
rep
tab
txt
tvw
tbr
tmr
val
vals
v 2.0.2
3 de 6
Convención de codificación en C# (Alumnos)
Ulman 2013
HacerAlgo ();
HacerOtraCosa ();
4. Guía de estilo de Codificación
Tabs e Indentado
El código debe ser indentado presionando la tecla Tab.
Utilización de las Llaves
Las Llaves deben comenzar siempre en la misma línea de la instrucción. El contenido de las llaves debe estar indentado con 1 (un)
Tab.
Ejemplo:
if (unaExpresion){
}else{
}
Las sentencias “case” deben estar indentadas según el siguiente ejemplo.
Ejemplo:
switch (unaExpresion) {
}
Las llaves nunca deben considerarse opcionales, se deben utilizar aunque exista una sola instrucción. De esta nabera se
incrementa la legibilidad del código y su mantenimiento.
Ejemplo:
for (int i=0; i < 100; i++) {
case 0:{
case 1:{
case 2:{
int n = 1;
HacerAlgoMas(n);
break;
}
HacerOtraCosa();
break;
}
HacerAlgo();
break;
}
HacerAlgo (i);
}
Instrucciones de una sola línea
Las instrucciones de una sola línea pueden tener llaves en la misma línea, como comienzo y fin de la instrucción.
public class Persona {
}
Se debe considerar como obligatorio la utilización de llaves en todas las estructuras de control (if, while, for, etc.), aunque
contengan una sola sentencia.
int _strNombre;
public int Nombre{
}
get {return _strNombre;}
set {_strNombre = value;}
// Por ser privadas de la clase (Fields) tiene "_".
v 2.0.2
4 de 6
Convención de codificación en C# (Alumnos)
Ulman 2013
5. Comentado del Código
Los comentarios deben ser utilizados para describir la intención, algorítmica y funcionamiento o lógica.
Seria ideal si alguien diferente del el autor del comentario, pudiese comprender el comportamiento del método, solamente leyendo el
comentario del código.
Notificación de Derechos (Copyright Notice)
Cada Archivo debe comenzar con un aviso legal (copyright notice).
Ejemplo:
//-------------------------------------------------------------------
// <copyright file="Buggy.cs" company="ORT Agentina">
// Copyright (c) ORT Agentina. All rights reserved.
// </copyright>
//-------------------------------------------------------------------
Comentarios en la Documentación
Todos los métodos deben utilizar el formato XML para la documentación. Existen herramientas tanto en Visual Studio, como de
terceras partes para generar la documentación automática a partir de Tags XML.
Para generar el encabezado standard de la documentación simplemente debemos posicionarnos en la línea previa al comienzo del
método, y presionar 3 veces el caracter “/”. (///)
Ejemplo:
/// <summary>
/// Incrementar los Vuelos del Usuario, y actualizar su nombre.
/// </summary>
/// <param name="intUsuario">Codigo de Usuario</param>
/// <param name="strNombre">Nuevo nombre del Usuario.</param>
/// <returns>Retorna true en caso de que la cantidad ...</returns>
public bool Incrementar(int intUsuario, string strNombre) {
}
Estilos de Comentado
La utilización del comentado utilizando las 2 barras //, deben utilizarse en varias situaciones. Siempre que sea posible, inserte los
comentarios sobre el Codigo y no por debajo.
Ejemplo:
// Se requiere para la utilización a traves del Proxy.
GlobalProxySelection.Select = new WebProxy("http://www.polshu.com.ar");
// Creación de un objeto para acceder a los recursos de Internet
WebClient myClient = new WebClient();
Los comentarios deben insertarse al final de la línea, cuando el espacio lo permita.
public class AlgoUtil {
}
bool blnReturnValue = false;
// Cuerpo del Metodo
// ...
return blnReturnValue;
private int
private static bool
_intItemHash;
_blnYaSeRealizo; // miembro estático
// miembro de instancia
v 2.0.2
5 de 6
Convención de codificación en C# (Alumnos)
Ulman 2013
Console.In.Read(myChar, 0, 1);
Console.In.Read(myChar,0,1);
Espaciado
Comentarios de: Convención de codificación en C# (0)
No hay comentarios