martes, 12 de abril de 2011

1.1 Propuesta para Estándares de Codificación

Propuesta para Estándares de Codificación
El presente documento tiene como finalidad establecer las convenciones de estandarización que permitan una escritura uniforme de código, así como la declaración de variables, creación de campos, tablas, etc.

Estándares en creación de programas y  Sub Tareas

Los programas y tareas se crearán bajo las siguientes reglas:

·         Los programas nuevos se generaran al final del repositorio.
·         Si ya no se ocupa el programa sobreescribir el programa con línea en blanco con comentario DISPONIBLE.
·         Las sub tareas nuevas se crearan al final del árbol de la tarea PADRE, aun cuando se copien o muevan sub tareas.
·         NO CAMBIAR NOMBRE DE LAS SUB TAREAS.


Estándares en nombres de programas
Los programas y tareas se crearán bajo las siguientes reglas:

·         La primera tarea de cada programa (la tarea de ambiente) llevará un prefijo que ayudará a identificar su función dentro de la aplicación seguido de un guión bajo y la descripción. La siguiente tabla muestra la lista de dichos prefijos:

Descripción
Prefijo
Menú de Usuario
Primario
PP
Si
Secundario
PS
No
Utilería
UT
No
Reporte
RP
Si

·         Las demás tareas serán identificadas con un prefijo, a fin de saber el modo en el que se ejecutan. La siguiente tabla lista los prefijos y su significado (modo) correspondiente:

Tipo de Tarea
Modo Inicial
Prefijo
Online
(cualquiera)
O
Batch
Delete
D
Batch
Modify,Write,Create
M
Batch
Query
Q
Con SQL incrustado
(cualquiera)
SQL


EJEMPLO: el programa calendario quedaría como: UT_Calendario, el catálogo de empresas quedaría como: PP_CatalogoEmpresas.

·         Cuando se necesite crear o modificar algún registro, se creará una tarea para tal fin.

Estándares en nombres de variables

Las variables virtuales y parámetros de crearán bajo las siguientes reglas:

·         En la tarea de ambiente o en su defecto, sobre la primer tarea del programa; se declararán las variables generales y parámetros de entrada y/o salida.

·         La siguiente tabla indica los prefijos

Tipo de variable
Abreviación
Variable
V
Parámetro de entrada
E
Parámetro de salida
S
Parámetro de entrada/salida
ES
Variable para botón
B

·         Después del prefijo se debe agregar un guión bajo ( _ ).

·         Después del guión bajo se indica el nombre descriptivo de la variable.

o    El primer carácter indica el tipo de dato

Tipo de dato
Abreviación
Numérico
n
Alfanumérico
a
Fecha
f
Hora
h
Lógico
l
Memo
m
Blob
b

o    El nombre de la variable debe tener la Primer letra en mayúsculas, si es nombre compuesto cada palabra debe iniciar con mayúsculas.

EJEMPLOS: variable para almacenar una clave de operación se puede llamar v_nClaveOperacion, un parámetro de entrada que recibe la fecha de salida de una corrida se puede llamar E_fFechaSalidaInicio.

·         No se trabajará directamente con variables reales, se utilizarán virtuales. Esto es con el fin de evitar inconsistencia de datos y un manejo concurrente que afecte el desempeño de la aplicación.

Estándares en nombres de tablas
Las tablas se crearán bajo las siguientes reglas:

·          Se construirá con el prefijo del módulo al que pertenece, seguido de la descripción correspondiente.

·         Para tablas reales el nombre debe estar todo en mayúsculas en el repositorio de tablas. EJEMPLO: GCEMPRESAS

·         Para tablas temporales, las palabras se escribirán en forma continua (sin espacios), donde la primer letra de cada palabra será en mayúscula, por ejemplo: VT_BoletosActivos.


Estándares en prefijos de tablas

Módulo
Prefijo
Planeación y Servicios
PS
Liquidación Conductores
CC
Venta (transacciones)
VT
Catálogos de Planeación
PC
Control de Tarifas
CT
Turismo
TU
Control de Agencias
CA
Control de Boletos
CB
Viajero Frecuente
CF
CUDI
CU
Control de Ventas (catálogos)
CV
Catálogos Generales
GC
Tablas de Seguridad (configuración menú SUC)
GS
Paquetería
PQ
Reloj Checador
RC
Almacen y Compras
AC
Web Services
WS

Estándares en nombres de campos de una Tabla

Los campos de tablas se crearán bajo las siguientes reglas:

·         El nombre debe ser descriptivo de su utilidad.

o    El primer carácter indica el tipo de dato

Tipo de dato
Abreviación
Numérico
n
Alfanumérico
a
Fecha
f
Hora
h
Lógico
l
Memo
m
Blob
b

o    Para tablas reales el nombre debe estar todo en mayúsculas

o    Para tablas temporales el nombre de la variable debe tener la primer letra en mayúsculas, si es nombre compuesto cada palabra debe iniciar con mayúsculas.

EJEMPLOS: campo real para almacenar una clave de operación se llama NCLAVEOPERACION, un campo de una tabla temporal que almacene la cantidad de boletos vendidos se puede llamar nCantidadBoletosVendidos.

Campos de auditoria

En la mayoría de las tablas del sistema se colocará un conjunto de campos que indiquen quién, cuando, a que hora, desde que oficina y desde que terminal (equipo de cómputo) se creó o modificó un registro. A este grupo de campos se les conoce como “campos de auditoria”.

Los campos de auditoria se crearán bajo las siguientes reglas:

·         Se escribirán como un nombre de campo ordinario, agregando tan solo la abreviación Au inmediatamente después del carácter que especifica el tipo.

·         Si el nombre del campo es compuesto, las palabras se escribirán en forma continua (sin espacios), donde la primer letra de cada palabra será en mayúscula.

EJEMPLO: fAuFech,a hAuHora, nAuClaveTerminal, AuClaveOficina, AuClaveUsuario

Si se necesita especificar más de una acción por registro se sustituye “Au” por una abreviatura de la acción. Por ejemplo:

Acción
Abreviación
Creación
Cr
Cancelación
Ca
Revisión
Re
Modificación
Mo
Transferencia
Tr
Baja
Ba

EJEMPLO: fCrFech,a hCaHora, nBaClaveTerminal, aMoClaveOficina, aTrClaveUsuario

 

Estándares en documentación de programas

Todos los programas serán documentados, esto con el fin de que su mantenimiento sea fácil y en el menor tiempo posible.

La documentación de programas se hará bajo las siguiente reglas:

·         En la tarea de ambiente o en su defecto, sobre la primer tarea del programa; se creará:

o      Descripción breve pero clara del programa.

o      En caso de manejar parámetros, describir los parámetros de entrada y de salida.

·         Después se integrará las líneas de una bitácora. La cual, será integrada con los siguientes elementos:

o      Autor.
o      Fecha.
o      Descripción de la modificación. (v.7 en VSS al dar check out y check in y hacer referencia al altiris si existe este)
  • Se debe documentar cada bloque de código de manera breve. *
Estándares en Formas

Las formas (pantallas de usuario) se crearán bajo las siguientes reglas:

·         Las aplicaciones se desarrollarán para una resolución de 800 X 600.

·         Es responsabilidad del desarrollador centrar la forma en la pantalla, a menos que está tenga que estar en un posición diferente, porque el módulo así lo exija.

·         Los colores utilizados en la forma (fondo, letras, controles, etc.) Serán aquellos que nos indique la carpeta Support ubicada en el servidor, y que es leída desde el archivo INI. Así mismo, todo lo que se mencionó anteriormente debe ser configurable desde el entorno de Windows. No se crearán colores fijos.

·         El título de las ventanas será escrito de acuerdo al módulo que se esté desarrollando. La primera letra de cada palabra será escrita con mayúscula y las siguientes con minúsculas, por ejemplo: Catálogo de Autobuses, Alta de Empleados, Configuración de Terminales.

·         Los mensajes de error o advertencia se manejarán con la ayuda de un programa que despliegue ventanas de diálogo. En v.7 usar verify con las nuevas propiedades

·         El título de los cuadros de diálogo será el mismo que tendrá el programa que la manda llamar, separado por un guión y especificando si es un Error o una Advertencia. Por ejemplo: Error - Alta de Empleados, Advertencia - Configuración de Terminales.

·         En lo posible, se utilizarán programas modulares que faciliten la programación.

·         En programas tipo “batch”, que procesan gran cantidad de datos se deberá mostrar una forma  que indique el procesamiento de datos.



Estándares en Reportes

Requerimientos mínimos de un reporte:


Los Tipos de letra utilizados son los siguientes:

·         Nombre de la Empresa                                                  Times New Roman 12 Negrita
·         Título                                                                               Times New Roman 10 Negrita
·         Filtros                                                                              Times New Roman 10 Negri
·         Pie de Página                                                                   Ms Sans Serif   8  Negrita


Antes de emitir el reporte se solicita al usuario el medio de impresión: Impresora o Archivo. Esto se realiza mediante una utilería cuya pantalla es la siguiente:

Esta utilería recibirá un parámetro que le indique si muestra ambas opciones (imprimir ó archivo), ó solo una de las dos. *



Si solicita impresión en archivo, se le solicitará especificar el nombre y trayectoria del archivo: