La idea de esta serie es que vayamos de lo sencillo a lo complejo, entonces, ya habiendo pasado el concepto de como planificar y como utilizar nuestras herramientas, ahora podremos pasar al código donde lo primero que haremos será comenzar a declarar nuestras variables, objetos, métodos, clases, etc. Para hacerlo debemos tener en claro ciertos conceptos que te harán la vida mas fácil.
Pascal Casing .- La primer letra de todas las palabras es mayúscula y todos los demás son minúsculas.
Ejemplo:
NombreDeElemento
MiSegundoNombre
Camel Casing.- La primer letra de todas las palabras, excepto la primer palabra van en mayúsculas y los demás son minúsculas.
nombreDeElemento
miSegundoNombre
¿Cuando utilizar que tipo?
Utiliza Pascal casing para la declaración de nombres de clases.
public class ElementoDePagina { } |
Utiliza Pascal casing para la declaración de nombres de métodos.
private void MetodoDeClase() { } |
Usa Camel casing para las variables y argumentos en los métodos.
string primerNombre = string.Empty; private void MetodoDeClase(string argumento) { } |
Usa Camel casing para cuando uses interfaces (la letra “I” en el prefijo se queda intacta)
INotifyPropertyChanged ICommand |
¿Recuerdas la notación hungariana? Es aquella donde escribes primero el tipo de variable que usas y después de un guión, escribes el nombre (o algo así). Bueno, olvida por favor este tipo de declaración. Utiliza mejor nombres claros y que al menos a ti te den una muy buena idea de porque estás llamándolas así.
string m_nuevoNombre; string nuevoNombre; |
No seas tan “matemático” (sin ánimo de ofender, claro), pero puedes usar mas letras que solo a, b, n, o lo que sea. La única excepción, no se si por regla o por práctica, es la letra i en los ciclos.
string nue; string nom; string ape; int ed; string nuevoDato; string nombreNuevo; string apellidoNuevo; int edadNueva; for (int i = 0; i < length; i++) { } |
No uses el guión bajo para las variables locales, pero puedes usarlo para las variables de un miembro.
public class MiClase { public string _nombreDeClase; public int _edadDeClase; } private void AsignarElementos(string nombreNuevo, int edadNueva) { MiClase nuevaInstancia = new MiClase(); nuevaInstancia._nombreDeClase = nombreNuevo; nuevaInstancia._edadDeClase = edadNueva; } |
Es sugerente que las variables de tipo booleano sugieran su tipo de valor.
bool esVisible; bool esDisponible; bool estaPrendido; |
Usa un prefijo adecuado para los elementos de tipo UI de modo que puedas identificarlos del resto de las variables. Aquí te podría sugerir dos maneras diferentes.
Control |
Prefijos |
Label | lbl |
TextBox | txt |
DataGrid | dtg |
Border | bor |
Grid | gr |
Button | btn |
HyperLinkButton | hlb |
ListBox | lst |
Calendar | cal |
CheckBox | chk |
RadioButton | rdo |
Image | img |
Canvas | cnv |
PasswordBox | psb |
Rectangle | rect |
Slider | sld |
ComboBox | cmb |
Ejemplo:
txtNombreNuevo btnIngresar psbClave |
El nombre del archivo deberá empatar con el nombre de la clase.
Usa Pascal case para nombres de archivos.
Conclusión
Estos son buenos ejemplos de como poder declarar nombres, lo genial de seguir este tipo de prácticas es que si trabajas en equipo, no vas a tener ningún problema con ese tipo de convenciones, podrás entender a la perfección las declaraciones de los demás y viceversa. Incluso si trabajas tu solo, después, cuando abras una solución toda empolvada, tu mismo entenderás lo que hiciste en esa ocasión.
Este es uno de los vicios mas grandes que tenemos como desarrolladores, declarar como cualquiera de nuestros nombres sin convención, eso nos imposibilita de poder ser entendidos en cuanto al código que escribimos.
muy cierto el orden hace las cosas mas faciles.