Antes de empezar a con los posts de programación vamos a establecer unos estilos de trabajo.
Aunque cada uno puede usar los estilos que quiera para programar, yo voy a intentar seguir los estilos indicados en Object Pascal Style Guide, con alguna adición o modificación, a continuación presento un esbozo.
Atención: Aunque en este documento los nombres los pongo en castellano (MiVariable, MiCampo,...), en los desarrollo generalmente usaré el inglés (MyVariable, MyField,...), se ha dejado este documento en castellano para su mejor comprensión.
Convenciones de nomenclatura
A excepción de las palabras reservadas y directivas, que están en minúsculas, todos los identificadores Pascal deben usar UpperCamelCase, lo que significa que la primera letra debe ser mayúscula, y las palabras incrustadas en un identificador debe ser en mayúsculas, así como cualquier sigla que está incrustada. Además no se debe usar el carácter de subrayado o guión bajo "_" para unir palabras.
// Mal formadas
patata
miVariable
Lanzar_Actualizacion
MiClaseFtp
// Bien formadas
Patata
MiVariable
LanzarActualizacion
MiClaseFTP
Tipos
Cualquier definición de tipo (excepto Interfaces) siempre comenzará con la letra T y a continuación el nombre.
type
TMiTipo = class(TObject)...
Interfaces
Los interfaces comenzarán con la letra I y a continuación el nombre.
IMiBuenPastor = interface
...
En algunos casos he comenzando con la palabra Interface aunque ya no lo estoy utilizando mucho
InterfaceMiBuenPastor = interface
...
Tipos enumerados
En este caso, los componentes del tipo utilizarán la notación húngara (más o menos)
type
TFormatoCuadrado = (fcNormal, fcRedondeado, fcEstrellado);
Dónde fc significa formato de cuadrado.
Clases
Los nombres de las clases siguen la nomenclatura de los tipos (TMiClase)
Campos
Los campos de las clases comenzarán por la F y el nombre del campo y generalmente irá en la sección privada. En general deben ser sustantivos. Para hacer uso publico de estos campos usaremos las propiedades o setters y getters
FMyCampo: string;
Métodos
Los nombres de los métodos deben ser verbos o frases imperativas.
LanzarRestauracion
Cargar
Salvar
AgregaBoton
Propiedades
Generalmente las propiedades accederán directamente a los campos o a través de getters y setters
property MiCampo: string read FMiCampo write FMiCampo;
property MiCampo: string read GetMiCampo write SetMiCampo;
property MiCampo: string read FMiCampo write SetMiCampo;
Variables locales
Las variables locales nunca deben empezar por la letra F para diferenciarlas de los campos. Deben ser en general sustantivos o nombres que no definan ninguna acción, para no confundirlas con los métodos o procedimientos.
Se permite el uso de variables de una sólo letra en minúscula para variables temporales y de bucle:
for i := 0 to 9 do
HacerAlgo;
Procedimientos y funciones
Igual que los métodos.
procedure HacerAlgo;
function CalculaAlgo: double;
function CalculaAlgo: double;
Formateo de código
Mención especial tiene el formateo de código ya que como actualmente el mismo Delphi ya tiene un herramienta de formateo integrada, por lo que es recomendable usarla. Para versiones más antiguas se puede usar el DelForExp (podeis verlo en Delphi al Límite) o el JEDI Code Format
No hay comentarios:
Publicar un comentario