Sobre las convenciones de nombres
He leído bastante sobre este tema. En lo referente a C Sharp todo el mundo dice que no hace falta indicar el tipo de las variables en su nombre. Existen excepciones como los interfaces que como sabéis empiezan por I, y algunos otros tipos más, pero mi experiencia me dice que aplique la lógica y actue en consecuencia.
La razón que dan los Gurús por la cual no es necesario tipificar las variables es que los actuales IDE ya se encargan de eso y por lo tanto el código se vuelve estéticamente mas legible, pero yo al aplicar la lógica les preguntaría a tan honorables señores... ¿ y que pasa cuando el código está impreso en papel ?
A día de hoy los papeles no tienen << Intellsense >> o la posibilidad de autocompletar código o mostrar tooltips informativos, así que mientras no sea de esta forma yo etiquetaré las variables como siempre lo he hecho.
Volviendo a la lógica antes mencionada si que es cierto que podemos simplificar la notación que utilizábamos en Foxpro para con C Sharp. Yo la he bautizado Notación CSF.
La Notación CSF (CSharpFox)
Una de las cosas que tenemos que tener muy claras es que no podemos abusar de las variables públicas como lo hacíamos en Fox. Tampoco va a ser necesario ponerle nomenclatura a todos los tipos de C Sharp, ya que son más que en Fox y además del tipo de variable, también deberíamos indicar el ámbito de actuación de la misma ( Lo que en Fox era publica, local, etc. )
Donde no pondremos notación...
- En las variables públicas, puesto que serán pocas y además sabremos de un vistazo que son públicas ya que empiezan con el nombre de la clase Prg.
Prg.TestMode = true;
- En las variables de las clases estáticas que podamos crear ni en el nombre de las mismas, ya que serán muy utilizadas y aquí si que se necesita cierta estética en código... osea que en este caso estoy deacuerdo con los Gurús.
static class Prg { }
- En las variables de ámbito público de las clases instanciables.
- En los nombre de los enumeradores.
- En los nombre de las estructuras.
- En los nombre de los delegados.
Donde pondremos notación y cual...
- Utilizaremos siempre la notación Pascal (primer carácter de todas las palabras se escribe en Mayúsculas menos en aquellas variables donde indiquemos el tipo al principio, aquí utilizaremos la notación Camell (Primera palabra en minúsculas siguientes en Mayúsculas).
- No utilizar nunca el carácter _ en cualquier definición de C sharp (Varialbes, clases, etc.).
- Los nombres de todas las clases que creemos, menos las estáticas, empezarán con T mayúscula, esto lo heredamos de Delphi y nos sirve para diferenciarlas de sus objetos. No he utilizado la c, ya que me la reservo para los string. Ejemplo: TConfig
- Al igual que en Fox todas las variable de objeto que creemos empezarán por la o minúscula: oConfig
- Los tipos Buildstring, string y char empezarán con una c (ce) minúscula de caracteres al igual que en fox.
- Los tipos int, decimal, double, float, long, short, uint, ulong, ushort, byte, sbyte empezarán con n (ene) minúscula.
- Los tipos bool con la l (ele) minúscula de logic, esto para las variables locales ( de clase o método) para las globales (las de la clase Prg. utilizaremos la palabra Is por ejemplo IsDemo.
- Los tipos datetime con una d (de) minúscula).
- En la definición de objetos gráficos utilizaremos 3 letras minúsculas y luego empezaremos por mayúsculas. Estas 3 letras pueden ser las típicas utilizadas en fox o las que crea automáticamente el C sharp, para mi es indiferente. Ejemplo: lblNombre, btnSalir, etc.
- las variables de clase privadas podremos una p por ejemplo: pnEstado (Esta es privada y númerica).
Así de simple, ni más ni menos. Por otra parte me gustaría aprovechar este artículo para aclarar un concepto importante que suele llevar a confusión a los programadores de Foxpro.
En las clases de Foxpro las variables de las mismas las llamamos propiedades. En Foxpro 9 hay dos tipos de propiedades. Uno las que se comportan como simples variables (osea que se tiene acceso a ellas directamente) y dos las que se les puede asignar los métodos Access y Assign.
En C Sharp las propiedades de una clase que se comportan como simples variables (osea que se tiene acceso a ellas directamente) se les llama CAMPOS y las propiedades con el método Access y Assign se les llama PROPIEDADES, con la diferencia de que los métodos Access y Assign se llaman get y set.
No hay comentarios:
Publicar un comentario