viernes, 5 de agosto de 2016

Mi método para nombrar variables

Esta es una guía creada en base a mi experiencia, con el fin de saber identificar una variable, cualquiera sea el lenguaje de programación usado, acá uso C#.
Éste es el método que uso para nombrar distintos tipos de variables, aunque con los IDEs modernos, no es tan necesario, pero igual,  puede ayudar.
Dejo lugar para que comente el que quiera, aunque me importe una mierda lo que opinen.

Tips
Los nombres de variables, lo mismo que las clases, las hago en singular y en inglés.
ejemplo:
int icode_person; string sname;
Indico con una letra de que tipo de variable se trata.


Ahora algunos ejemplos de variables comunes:
Int32 o int antepongo la i
ejemplo: int icode;

Int64 o long antepongo la I
ejemplo: Int64 Icode;

string, antepongo s;
ejemplo: string scadena;

float, antepongo f;
ejemplo float fcode;

double, antepongo la D (La d minúscula la dejo para los tipos decimal)
ejemplo: double Dcode;

decimal, antepongo la d
ejemplo: decimal dcode;

bool, antepongo b;
ejemplo: bool bcode;

char, antepongo la c
ejemplo: char ca;

byte, antepongo by (Uso la b para bool)
ejemplo: byte bycode;

Estructuras
Los nombres de las estructuras (struct) van con la palabra Struct en mayúscula la primera y el resto de palabras que componen el nombre, van con la primera en mayúscula.
ejemplo: struct StructPerson{}

Listas y vectores
En el caso de las listas, la letra o letras que van delante, van en minúscula, pero la palabra List y demás palabras que vayan pegadas, comienzan en mayúsculas;
Por ejemplo para nombrar un List de enteros, antepongo la i.
ejemplo: List<int>iList;
Le puedo dar un sentido, por ejemplo, si es una lista de enteros y esos enteros son códigos, pongo así:
List<int>iListCode;
Si es un List de estructuras, por ejemplo la estructura siguiente
struct StructData
{
public int a;
public int b;
}
El List de Estructuras sería:
List<StructData>stListData;
Osea, antepongo st antes del list. Una estructura puede tener múltiples variables, es difícil describir todas, pero al menos aviso que se trata de un List de estructuras.

En los vectores uso una anotación similar, lo mismo hacía con la clase vector de las STL de C++, aquí lo más parecido a vector de C++ es el List, aunque se comporta más como un "deque" de las STL de C++ (no hacer chiste malo, como "deque" carajos me hablan)

Las Clases (class)
Para las clases en un principio anteponía la palabra Class, luego viendo como nombraba Gerardo Sas, uno de mis profesores, simplemente anteponía la letra C, seguido con nombres pegados en mayúsculas en el inicio de cada palabra. por ejemplo: CNumeroPrimo. Finalmente pasé a poner las iniciales de mi empresa, supongamos que trabajo para Microsoft, entonces la clase Microsoft que administra a una persona sería: class MSPerson.

Otras reglas
Acostumbro a no usar acentos ni caracteres especiales en el nombre de las variables y clases, efecto que ya traigo de C++ en donde no se podía (No sé en sus versiones más recientes). Igualmente con C# hago excepciones.

Los Formularios
Como veníamos haciendo en las variables, aquí también se hace en inglés, se usa la primer letra de cada palabra en mayúsculas como se indica a continuación:

Los Formularios Windows Forms
A las ventanas de Windows Forms se les Antepone la palabra Window, por ejemplo una ventana que contiene un listado:
WindowList; Ya saben que el mismo deriva de una clase Form, etc... no voy a andar explicando todo.

Windows Presentation Foundation
Se les Antepone la palabra WPF a la clase que conforma dicha ventana
WPFList

ASP.Net WebForm
Se le antepone la palabra WebForm al formulario web;
Ejemplo: WebFormHome, WebFormProfile

Los diferentes controles preestablecidos que vienen con ASP, Windows Forms, WPF y demás, los nombro en Mayúsculas la primera y anteponiendo el nombre del control, seguido de una descripción de qué hace el control o qué nombre muestra;
Por ejemplo un Label de Windows Forms que muestra el nombre de una persona, ese Label se llamaría LabelFirstName, en el caso del apellido LabelLastName, el TextBox que contiene el nombre y el otro que contiene el apellido serían, TextBoxFirstName y TextBoxLastName.
Supongamos que el nombre y el apellido también son Labels, entonces le agrego la palabra Insert
LabelFirstNameInsert y LabelLastNameInsert, esto es así porque LabelFirstName va a decir "Nombre:" y LabelFirstNameInsert va a decir "German" (Así, sin acento).

Los nombres de los Controles Personales o de Usuarios de WPF y Windows Forms los nombro anteponiendo la palabra Control, lo mismo podría hacer con ASP.Net, pero me quedó el legado de una empresa para la que trabajé que le anteponíamos WebUserControl y no solamente Control
Ejemplos Nombres para controles que contienen un listado de Empleados de una empresa
ASP.Net: WebUserControlListHumanResource
Windows Forms: ControlListHumanResource
WPF: ControlListHumanResource

Las bases de Datos
En la facultad me enseñaron que los nombres de tablas van en singular y las columnas en plural.
El sentido común indica lo contrario, así que en los trabajos que hice, se pasan por los genitales la enseñanza en la facultad, osea es mejor al revés, nombre de tablas en plural y columnas en singular.
Supongamos una tabla "persons", cuya columna de códigos es code, lo que se hace para que esa columna sea única en toda la base de datos, se le agrega un guión bajo y el nombre de la tabla en singular, en este caso sería code_person.


Iré actualizando para indicar cómo se escribe en una Actividad Android o en IOS, ya sea usando XamarinForms o Java.
Gracias por leer.
Bye!!!

No hay comentarios:

Publicar un comentario

Escriba su comentario...