You are on page 1of 27

Estndares de Programacin

ESTNDARES DE SISTEMAS ................................................................................................................................ 3 ARQUITECTURA DE SOFTWARE.......................................................................................................................... 3 PATRN ARQUITECTNICO ARQUITECTURA DE 3 CAPAS .................................................................................. 3 NOMBRES BSICOS PARA MDULOS DE FORMULARIO Y DE CLASE .................................................................. 4 NOMBRES BSICOS PARA LOS CONTROLES........................................................................................................ 4 NOMBRES BSICOS PARA LOS MDULOS DE CDIGO ....................................................................................... 5 NOMBRES BSICOS PARA LOS PROCEDIMIENTOS.............................................................................................. 5 CONVENCIONES DE NOMBRES PARA OBJETOS .................................................................................................. 6 PREFIJOS SUGERIDOS PARA CONTROLES .................................................................................................................... 6 COMPONENTES AJAX ....................................................................................................................................... 10 ASP.NET AJAX CONTROL TOOLKIT ...................................................................................................................... 10 OBJETOS DE ADO.NET ...................................................................................................................................... 12 CONVENCIONES DE NOMBRES DE CONSTANTES Y VARIABLES ......................................................................... 12 PREFIJOS DE ALCANCE DE VARIABLES .............................................................................................................. 13 CONSTANTES ................................................................................................................................................... 13 VARIABLES ...................................................................................................................................................... 14 TIPOS DE DATOS DE VARIABLES ............................................................................................................................. 14 DAR FORMATO AL CDIGO.............................................................................................................................. 17 OPERADORES & Y + .......................................................................................................................................... 19 CREAR CADENAS PARA MSGBOX, INPUTBOX Y CONSULTAS SQL ................................................................................... 19 OTROS ASPECTOS: ........................................................................................................................................... 20 APOYO APROPIADO DEL TECLADO .......................................................................................................................... 21 GENERACIN DE TEXTO AL USUARIO ...................................................................................................................... 21 VENTANAS Y DILOGOS ...................................................................................................................................... 22 MENUS .......................................................................................................................................................... 22 ARQUITECTURA DE DESARROLLO .................................................................................................................... 23 CAPA PRESENTACIN......................................................................................................................................... 23 CAPA LGICA DE NEGOCIOS ................................................................................................................................ 24 CAPA DE ACCESO A DATOS .................................................................................................................................. 24 APLICACIONES WEB ......................................................................................................................................... 25 ASPECTOS BSICOS. .......................................................................................................................................... 25 UTILIZACIN DE PAGINAS PRINCIPALES................................................................................................................... 26 MANEJO DE MENS .......................................................................................................................................... 27

Estndares de Programacin

Estndares de Sistemas

Estos estndares deben considerarse como guas en las etapas de diseo de los sistemas.

Las tcnicas efectivas de manejo y control de proyectos combinados con una participacin activa de los usuarios y la utilizacin de metodologas estructuradas de desarrollo de sistemas, pueden minimizar riesgos de incumplimiento de fechas de actividades importantes, de gastos excesivos en relacin a los costos estimados e insatisfacciones de los usuarios de los sistemas.

Arquitectura de Software
Comprende la definicin y organizacin de los elementos arquitectnicos de una solucin de software, sus interacciones y sus restricciones.

Dentro de las tareas a realizar dentro de la arquitectura se encuentran: Definicin de los diferentes componentes que integran la solucin propuesta, analizando las diferentes interacciones que se presentan entre los mismos. Anlisis de componentes pre-existentes en el mercado, que pueden ser reutilizados en la arquitectura que se propone. Anlisis del modelo propuesto desde diferentes perspectivas, para validar caractersticas tales como performance, concurrencia y aspectos que deber tener el sistema al ser implementado en redes de comunicaciones. Definir el patrn arquitectnico que logre implementar adecuadamente las caractersticas funcionales y no funcionales definidas durante la toma de requerimientos.

Patrn Arquitectnico Arquitectura de 3 Capas

Estndares de Programacin

El patrn arquitectnico en 3 capas es una especializacin del patrn Aplicacin en Capas. Esto define que la solucin debe de dividirse en tres capas lgicas: presentacin, lgica de negocio y acceso a datos, con esto se busca especificar el conjunto de responsabilidades de cada una de las capas y los componentes que los conformarn.

Presentacin: debe provee la interfaz para el usuario. Las tecnologas que se utilizan en .NET son Win Forms para aplicaciones de cliente inteligente y ASP.NET para aplicaciones web.

Lgica de Negocio: implementa la funcionalidad de la lgica de negocio. Esta capa est conformada de componentes desarrollados en cualquiera de los lenguajes de .NET

Acceso a Datos: provee el acceso a los repositorios de informacin persistente y/o sistemas externos. La tecnologa utilizada para desarrollar esta capa es ADO.NET, se pueden tambin utilizar stored procedures y XML.

Nombres bsicos para mdulos de formulario y de clase


En lugar de utilizar tan slo un nombre, como Clientes, podra preferir el identificar al formulario como frmClientes o a la clase como clsClientes. Por aadidura, tal como lo ve, la denominacin incluye el uso de altas y bajas (maysculas y minsculas) para identificar las diferentes palabras que conforman el nombre (en lo que se ha dado en llamar: notacin camello). Es decir, es ms fcil leer: frmVentasEnTotal, que: FRMVENTASENTOTAL o frmventasentotal (internamente), externa

Con respecto al desarrollo de clases para los proyectos estas deben de ser creadas bajo el prefijo de cls, quedando de esta forma el nombre clsConexion. Dentro de estas clases deben de poseer una pequea y breve explicacin sobre cada uno de los procedimientos que la misma contenga.

Nombres bsicos para los controles

Estndares de Programacin

Se utilizara el nombre del resultado o dato que se desplegar en el control. Es decir, si al leer alguna informacin de una base de datos sta se desplegar en algn cuadro de texto (en la suposicin de que el dato sea un apellido paterno), el cuadro se podra llamar apellidoPaterno, apPaterno, con el prefijo txt, quedando de esta forma txtApellidoPaterno.

Si se desea utilizar WebUserControl o Control de Usuario Web para configurar y crear controles programables y reutilizables se utilizar el nombre con el prefijo wuc, quedando en forma wucControlAcceso. Tambin se puede hacer uso de los archivos de recursos, para configurar los datos que sean necesarios, el mismo contendr el prefijo rs quedando de forma rsRecurso.

Nombres bsicos para los mdulos de cdigo


Los mdulos de cdigo (tambin conocidos como mdulos .aspx.vb, mdulos de cdigo plano, mdulos Basic o tan slo mdulos). Los desarrolladores deben poder determinar el tipo de procedimientos que estn contenidos en el mdulo con tan slo leer el nombre. As, podra usar nombres como: modRutinasAPI_DelTechNet y modRutinasAPI_Biblioteca.

Nombres bsicos para los procedimientos


Este es un punto importante en las tareas de definicin de nombres. Sin embargo poco a poco se ha convertido en una buena norma el indicar una descripcin precisa (y sin embargo corta) del procedimiento que se refiera. A estos nombres puede antecedrseles un prefijo sub o fnc para distinguir a los procedimientos Sub de los Function.

No obstante, se deber anteceder con las letras do, get y set para indicar si un procedimiento tan slo ejecutar una tarea (do), obtendr informacin de alguna fuente (get) o la grabar (set). En algunos casos, do es sustituido por let, por lo que la ejecucin de una tarea podra llamarse letMultiplicacion o doMultiplicacion.

Estndares de Programacin

Convenciones de nombres para objetos


Los objetos deben llevar nombres con un prefijo coherente que facilite la identificacin del tipo de objeto. A continuacin se ofrece una lista de convenciones recomendadas para algunos de los objetos permitidos por Visual Basic en general.

Prefijos sugeridos para controles

Tipo de control Panel 3D Botn animado Casilla de verificacin

Prefijo Pnl Ani Chk

Ejemplo pnl_Grupo ani_Buzon chk_SoloLectura cmb_Ingles

Cuadro combinado, cuadro de Cmb lista desplegable Botn LinkButton HyperLink DropDownList Repeater RadioButton GroupBox CheckedListBox DataTimePicker MonthCalendar Splitter DomainUpDown Btn Lnk Hyp Ddl Rep Rdo Grp Clst Dtp Cal Spl Dup

btn_Ejemplo lnk_Ejemplo hyp_Ejemplo ddl_Ejemplo rep_Ejemplo rdo_Ejemplo grp_Ejemplo Clst_Ejemplo Dtp_Ejemplo Cal_Ejemplo Spl_Ejemplo Dup_Ejemplo

Estndares de Programacin

NumericUpDown TrackBar HelpProvider ToolTip ContextMenu Calendar AdRotator DataTimePicker NotifyIcon OpenFileDialog SaveFileDialog FontDialog ColorDialog PrintDialog PrintPreviewDialog PrintPreviewControl ErrorProvider PrintDocument PageSetupDialog CrystalReportViewer

Nup Trk Hlp Tip Cmnu Cal Ad Dtp Nic Ofd Sfd Fd Cd Pd Ppd Ppc Errp Pdoc Psd Crv

Nup_Ejemplo Trk_Ejemplo Hlp_Ejemplo Tip_Ejemplo Cmnu_Ejemplo Cal_Ejemplo Ad_Ejemplo Dtp_Ejemplo Nic_Ejemplo Oft_Ejemplo Sfd_Ejemplo Fd_Ejemplo Cd_Ejemplo Pd_Ejemplo Ppd_Ejemplo Ppc-Ejemplo Errp_Ejemplo Pdoc_Ejemplo Psd_Ejemplo Crv_Ejemplo

Dilogo comn Comunicaciones Control (dentro

Dlg Com de Ctr

Dlg_ArchivoAbrir Com_Fax Ctr_Activo

procedimientos cuando no se conoce el tipo especfico) Control de datos Dat Dat_Biblio

Estndares de Programacin

Cuadro combinado enlazado a Dbcmb datos Cuadrcula enlazada a datos Dbgrd

Dbcmb_Lenguaje

Dbgrd_ResultadoConsulta Dblst_TipoTarea

Cuadro de lista enlazado a Dblst datos Cuadro de lista de directorios Cuadro de lista de unidades Cuadro de lista de archivos Formulario Marco Medidor Grfico Cuadrcula Barra de Dir Drv Fil Frm Fra Gau Grf Grd desplazamiento Hsb

Dir_Origen Drv-Destino Fil-Origen Frm_Entrada Fra_Lenguaje Gau_Estado Grf_Ingresos Grd_Precios hsbVolumen

horizontal Imagen (Image) Estado de tecla Etiqueta Lnea Cuadro de lista Mensaje MAPI Sesin MAPI MCI Formulario MDI secundario Men MS Flex Grid MS Tab Actives Img Key Lbl Lin Lst Mpm Mps Mci Mdi Mnu Fgd Mst Ole imgIcono keyMayusculas lblMsjAyuda linVertical lstCdigosDePoltica mpmEnviarMsj mpsSesion mciVideo mdiNota mnuArchivoAbrir fgdClientes mstPrimero oleHojaDeTrabajo

Estndares de Programacin

Esquema Pen BEdit Pen Hedit Trazo de pluma Imagen (Picture) Clip de imagen Informe Forma Cuadro de nmero Cuadro de texto Cronmetro Arriba-abajo Barra vertical Control deslizante Lista de imgenes Vista de rbol Barra de herramientas TabStrip Barra de estado Lista Barra de progreso RichTextBox GridView DataList FormView SqlDataSource XmlDataSource de

Out Bed Hed Ink Pic Clp Rpt Shp Spn Txt Tmr Upd desplazamiento Vsb

outDiagramaDeOrg bedNombre hedFirma inkMapa picVGA clpBarraDeHerramientas rptGananciasTrimestre1 shpCirculo spnPaginas txtApellido tmrAlarma updDireccion vsbVelocidad

Sld Ist Tre Tlb Tab Sta Lvw Pqb Rtf Gdv Dl Fv Sds Xds

sldEscala ilstTodosLosIconos treOrganizacion tlbAcciones tabOpciones staFechaHora lvwEncabezados pgbCargarArchivo rtfInforme gdvMostrarDatos dlCargarDatos fvListas sdsConexion xdsXmlCarga

Estndares de Programacin

ReportViewer RequeridFieldValidator RangeValidator RegularExpressionValidator Login LoginView

Rw Rfv Rv Rev Lg Lv

rwReportes rfvValidacion rvRangoValidacion revValidacionRegular lgLogin lvVistaUsuario

Componentes AJAX

Utilizacin de componentes ajax (acrnimo de Asynchronous JavaScript And XML (JavaScript asncrono y XML)), para el desarrollo de aplicaciones interactivas. Permitiendo que las aplicaciones que utilicen componentes ajax, se ejecuten en el cliente, es decir, en el navegador de los usuarios mientras se mantiene la comunicacin asncrona con el servidor en segundo plano. De esta forma es posible realizar cambios sobre las pginas sin necesidad de recargarlas, lo que significa aumentar la interactividad, velocidad y usabilidad en las aplicaciones.

ASP.NET AJAX Control Toolkit

Tipo de control Accordion AlwaysVisibleControl Animation AutoComplete Calendar CascadingDropDown CollapsiblePanel ConfirmButton

Prefijo acc ace ae auc cal cdd Cpe Cbe

Ejemplo Acc_Ejemplo ace_Ejemplo ae_Ejemplo auc_Ejemplo cal_Ejemplo cdd_Ejemplo cpe_Ejemplo cbe_Ejemplo

10

Estndares de Programacin

DragPanel DropDown DropShadow DynamicPopulate FilteredTextBox HoverMenu ListSearch MaskedEdit ModalPopup MultiHandleSlider

dpe dde dse dp ftbe hme lse mee mpe mhse

dpe_Ejemplo dde_Ejemplo dse_Ejemplo dp_Ejemplo ftbe_Ejemplo hme_Ejemplo lse_Ejemplo mee_Ejemplo mpe_Ejemplo mhse_Ejemplo mecbe_Ejemplo nbe_Ejemplo nud_Ejemplo pble_Ejemplo ps_Ejemplo popex_Ejemplo rat_Ejemplo rle_Ejemplo rce_Ejemplo rcoe_Ejemplo sle_Ejemplo slse_Ejemplo tabe_Ejemplo tbwe_Ejemplo tbe_Ejemplo upae_Ejemplo

MutuallyExclusiveCheckBox mecbe NoBot NumericUpDown PagingBulletedList PasswordStrength PopupControl Rating ReorderList ResizableControl RoundedCorners Slider SlideShow Tabs TextboxWatermark ToggleButton UpdayePanelAnimation ValidatorCallout nbe nud pble ps popex rat rle rce rcoe sle slse tabe tbwe tbe upae

PNReqE PNReqE_Ejemplo

11

Estndares de Programacin

Objetos de ADO.NET
Aunque hay miles de objetos disponibles como parte de .NET, es probable que se use ADO.NET como parte de las aplicaciones, por lo tanto algunos estndares para nombrar los objetos de ADO.NET ms comunes. A continuacin se listan los prefijos que se utiliza:

Clase DataSet DataTable DataView DataRow Connection* Command* DataAdapter* CommandBuilder* DataReader*

Prefijo Ds Dt Dv Drw Cnn Cmd Da Bld Dr

Ejemplos: de declaracin de los objetos ADO.net Dim drEmps As New SqlDataReader() Dim drCust As New SqlDataReader() Dim dsEmps As DataSet Dim dsCust As DataSet

Convenciones de nombres de constantes y variables


Las variables se deben definir siempre con el menor alcance posible. Las variables globales (pblicas) pueden crear mquinas de estado enormemente complejas y hacer la lgica de una aplicacin muy

12

Estndares de Programacin

difcil de entender. Las variables globales tambin hacen mucho ms difcil mantener y volver a usar el cdigo. Adems, los argumentos se deben pasar a los procedimientos Sub y Function mediante ByVal, a menos que sea necesario explcitamente cambiar el valor del argumento que se pasa.

Prefijos de alcance de variables


A medida que aumenta el tamao del proyecto, tambin aumenta la utilidad de reconocer rpidamente el alcance de las variables. Esto se consigue al escribir un prefijo de alcance de una letra delante del tipo de prefijo propio, sin aumentar demasiado la longitud del nombre de las variables.

Alcance Global Nivel de mdulo Local del procedimiento Pblico

Prefijo G M Ninguno P

Ejemplo gstrNombreUsuario mblnProgresoDelClculo dblVelocidad pCantidadUsuario

Una variable tiene alcance global si se declara como Public en un mdulo estndar o en un mdulo de formulario. Una variable tiene alcance de nivel de mdulo si se declara como Private en un mdulo estndar o en un mdulo de formulario, respectivamente.

Constantes
El cuerpo del nombre de las constantes se debe escribir en maysculas. Aunque las constantes estndar de Visual Basic.Net no incluyen informacin del alcance y el tipo de datos (estos en minscula), los prefijos como i, s, g y m pueden ser muy tiles para entender el valor y el alcance de una constante. Para los nombres de constantes, se deben seguir las mismas normas que para las variables. Por ejemplo:

13

Estndares de Programacin

MINTMAXLISTAUSUARIO ' Lmite de entradas mximas para ' la lista de usuarios (valor ' entero, local del mdulo) GSTRNUEVALINEA ' Carcter de nueva lnea '(cadena, global de la ' aplicacin)

Variables
Declarar todas las variables ahorra tiempo de programacin porque reduce el nmero de errores debidos a erratas (por ejemplo, aNombreUsuarioTmp frente a sNombreUsuarioTmp y frente a sNombreUsuarioTemp). Las variables deben llevar un prefijo para indicar su tipo de dato. Opcionalmente, y en especial para programas largos, el prefijo se puede ampliar para indicar el alcance de la variable.

Tipos de datos de variables


Use los prefijos siguientes para indicar el tipo de datos de una variable.

Tipo de datos Bolean Byte Objeto Collection Currency Date (Time) Double Error Integer Long Object

Prefijo B By Col Cur Dt dbl Err I L obj

Ejemplo b_Encontrado by_DatosImagen col_Datos cur_Ingresos dt_Inicio dbl _Tolerancia Err_NmDeOrden i_Cantidad l_Distancia obj_Activo

14

Estndares de Programacin

Single String Tipo definido por

sng str el udt

sng_Media str_NombreF udt_Empleado

usuario Variant Short Decimal Char vnt srt dec chr vnt_CheckSum Srt_Value Dec_Value Chr_Letter

Nombres descriptivos de variables y procedimientos El cuerpo de un nombre de variable o procedimiento se debe escribir en maysculas y minsculas y debe tener la longitud necesaria para describir su funcionalidad. Adems, los nombres de funciones deben empezar con un verbo, como IniciarNombreMatriz o CerrarDialogo. Para nombres que se usen con frecuencia o para trminos largos, se recomienda usar abreviaturas estndar para que los nombres tengan una longitud razonable. En general, los nombres de variables con ms de 32 caracteres pueden ser difciles de leer. Cuando se usen abreviaturas, hay que asegurarse de que sean coherentes en toda la aplicacin. Alternar aleatoriamente entre Cnt y Contar dentro de un proyecto provoca una confusin innecesaria. Por aadidura, aunque los nombres de variables y procedimientos en Visual Basic 3.0 y superiores soportan el uso de caracteres acentuados y ees, estos no deben de ser utilizados.

Tipos definidos por el usuario En un proyecto grande con muchos tipos definidos por el usuario, suele ser til dar a cada uno de estos tipos un prefijo de tres caracteres slo suyo. Si estos prefijos comienzan con "u", ser fcil reconocerlos cuando se est trabajando con tipos definidos por el usuario. Por ejemplo, "ucli" se podra usar como prefijo para las variables de un tipo Cliente definido por el usuario.

Convenciones de codificacin estructurada

15

Estndares de Programacin

Adems de las convenciones de nombres, las convenciones de codificacin estructurada, como comentarios al cdigo y sangras coherentes, pueden mejorar mucho la legibilidad del cdigo.

Convenciones de comentarios al cdigo Todos los procedimientos y funciones deben comenzar con un comentario breve que describa las caractersticas funcionales del procedimiento (qu hace). Esta descripcin no debe describir los detalles de implementacin (cmo lo hace), porque a veces cambian con el tiempo, lo que da como resultado un trabajo innecesario de mantenimiento de los comentarios o, lo que es peor, comentarios errneos. El propio cdigo y los comentarios de lneas necesarios describirn la implementacin. Los argumentos que se pasan a un procedimiento se deben describir cuando sus funciones no sean obvias y cuando el procedimiento espera que los argumentos estn en un intervalo especfico. Tambin hay que describir, al principio de cada procedimiento, los valores de retorno de funciones y las variables globales que modifica el procedimiento, en especial los modificados a travs de argumentos de referencia. Los bloques del comentario de encabezado del procedimiento deben incluir los siguientes encabezados de seccin.

Encabezado seccin Finalidad Premisas

de Descripcin del comentario

Lo que hace el procedimiento (no cmo lo hace). Lista de cada variable externa, control, archivo abierto o cualquier otro elemento que no sea obvio.

Efectos

Lista de cada variable externa, control o archivo afectado y el efecto que tiene (slo si no es obvio).

Entradas

Todos los argumentos que puedan no ser obvios. Los argumentos se escriben en una lnea aparte con comentarios de lnea.

Resultados

Explicacin de los valores devueltos por las funciones.

16

Estndares de Programacin

Se tiene que tomar en cuenta:

Cada declaracin de variable importante debe incluir un comentario de lnea que describa el uso de la variable que se est declarando. Las variables, controles y procedimientos deben tener un nombre bastante claro para que los comentarios de lnea slo sean necesarios en los detalles de implementacin complejos.

Dar formato al cdigo

Como muchos programadores usan todava pantallas VGA, hay que ajustarse al espacio de la pantalla en la medida de lo posible y hacer que el formato del cdigo siga reflejando la estructura lgica y el anidamiento. Estos son algunos indicadores:

Los bloques anidados estndar, separados por tabuladores, deben llevar una sangra de dos espacios (predeterminado) como mnimo. Los comentarios deben ser alineados todos iguales en la medida de lo posible El comentario del esquema funcional de un procedimiento debe llevar una sangra de un espacio. Las instrucciones de nivel superior que siguen al comentario del esquema deben llevar una sangra de un tabulador, con cada bloque anidado separado por una sangra de un tabulador adicional. Por ejemplo en vb 6, .net 2002 y 2003:

'***************************************************** ' Finalidad: Ubica el primer caso encontrado de un ' usuario especificado en la matriz ListaUsuario. ' Entradas: ' strListaUsuario(): lista de usuarios para buscar. ' strUsuarioDest: nombre del usuario buscado. ' Resultados: ndice del primer caso de rsUsuarioDest

17

Estndares de Programacin

' encontrado en la matriz rasListaUsuario. ' Si no se encuentra el usuario de destino, devuelve -1. '***************************************************** Function intBuscarUsuario (strListaUsuario() As String, strUsuarioDest As _ String)As Integer Dim i As Integer ' Contador de bucle. Dim blnEncontrado As Integer ' Indicador de ' destino encontrado. intBuscarUsuario = -1 i=0 While i <= Ubound(strListaUsuario) and Not blnEncontrado If strListaUsuario(i) = strUsuarioDest Then blnEncontrado = True intBuscarUsuario = i End If Wend End Function

Si se utiliza la versin Visual Studio 2005 utilizar el formato preestablecido para la descripcin de las funciones. Ejemplo: ''' <summary> ''' ''' </summary> ''' <param name="sender"></param> ''' <param name="e"></param> ''' <remarks></remarks> Protected Sub btnCargar_Click(ByVal sender As Object, ByVal e As btnCargar.Click System.EventArgs) Handles

18

Estndares de Programacin

... codigo

End Sub

Operadores & y +
Se debe de utilizar el operador & para unir cadenas y el operador + cuando trabaje con valores numricos. El uso del operador + para concatenar puede causar problemas cuando se opera sobre dos variables Variant. Por ejemplo:

vntVar1 = "10.01" vntVar2 = 11 vntResultado = vntVar1 + vntVar2 'vntResultado = 21.01 vntResultaod = vntVar1 & vntVar2 'vntResultado = 10.0111

Crear cadenas para MsgBox, InputBox y consultas SQL


Cuando est creando una cadena larga, use el guin bajo para la continuacin de lnea romper en mltiples lneas de cdigo una lnea lgica, de forma que pueda leer o depurar la cadena fcilmente. Esta tcnica es especialmente til cuando se muestra un cuadro de mensaje (MsgBox), un cuadro de entrada (InputBox), o cuando se crea una cadena SQL. Por ejemplo: Dim Msj As String Msj = "Esto es un prrafo que estar en un" _ & " cuadro de mensajes. El texto est separado en" _ & " varias lneas de cdigo en el cdigo de origen, " _ & "lo que facilita al programador la tarea de leer y depurar." MsgBox Msj Dim CTA As String CTA = "SELECT *" _

19

Estndares de Programacin

& " FROM Ttulo" _ & " WHERE [Fecha de publicacin] > 1988" ConsultaTitulos.SQL = CTA

Otros Aspectos:
Siempre al principio de los procesos que se sepa tomaran algn tiempo en ser ejecutados deber colocarse el puntero del mouse en vbhourglass y al final del proceso regresar a vbnormal, esto con el fin de hacer saber al usuario de los sistemas que el programa est trabajando. Nunca se deben de enviar nulos a los campos de las bases de datos Siempre que una cadena o texto sea extrada de recordset o fields, deber ser pasado por la funcin TRIM antes de ser enviada a lista, grids o textbox. Siempre que existan lista o grids estos podrn ser ordenados por el usuario, con un simple click en el encabezado de la columna respectiva. En caso de sea necesario mostrar los consecutivos a los usuarios, se creara el consecutivo justo antes de enviarlo a la base de datos y posteriormente se le mostrara al usuario, esto se debe hacer siempre y cuando el consecutivo NO sea auto numrico En caso de enviar los registros por cadena de caracteres a la base de datos (construccin de sentencias SQL): Las cajas de textos o textbox de tipo numrico nunca aceptaran letras, o signos especiales, ni comas, y solamente aceptaran un punto (.), como separador de decimales. Al enviar datos numricos a la base de datos, todos debern ser formateados en su forma ms bsica (#####.##), sin separadores de miles y con dos decimales, se permiten excepciones en los casos en que sea necesario guardar mas decimales.

Recomendaciones: Siempre que un dato sea extrado de un recordset o fields, se recomienda que sea examinado en busca de NULL.

20

Estndares de Programacin

En la medida de lo posible se recomienda no enviar datos a la base de datos con cadenas de longitud cero (), por cuanto los usuarios podran aducir olvido de digitacin de esta informacin, en percance del sistema o de las consultas o datos resultantes

Apoyo apropiado del teclado


Para cualquier aplicacin que requiera entrada de los datos cabeza-abajo, sta es probablemente una regla buena para tener en cuenta. Todos las rdenes del men necesitan tener un teclado accesible (con llaves mnemnicas o atajos del teclado), y todos las rdenes de sistema deben estar disponibles en el men.

Generacin de texto al usuario


Mensajes del texto, sobre todo informativo y dilogos de advertencia, necesitan ser llevados de forma apropiada y consistente. Aqu estn algunas reglas: Evite jerga tcnica. Limite los mensajes a 2-3 lneas. Evite redaccin que culpe al usuario. Evite el uso de abreviaturas. Los mensajes se alinearan a la Izquierda cuando sean de lneas mltiples. Nunca, incluya faltas de ortografa, errores de gramtica o pronunciacin incorrecta. Uso del conjunto de caracteres apropiado

A continuacin se proporciona una gua simple del conjunto de caracteres y uso apropiado, adaptado ligeramente para la costumbre los proyectos. Texto Title bars, menu text Font ( letra ) Windows System font (10 point Sans Serif)

21

Estndares de Programacin

Controles, labels y captions Campos de entrada de datos Textos de los Status bar Textos de los iconos

8 point bold Sans Serif 8 point non-bold Sans Serif 10 point non-bold Sans Serif 8 point non-bold Sans Serif

La interface con controles incoherentemente etiquetados (textos, combos, listas, option buttons, grupos, y otros) puede hacer tanto como cualquier otro factor para que el sistema sea rechazado por parte de los usuarios.

Ventanas y Dilogos
En la medida de lo posible se deben de utilizar los recursos proporcionados por la misma plataforma, tales como las ventanas de dialogo de guardar y abrir archivos de impresora. Los mensajes (msgbox, messagebox) a pantalla, deben estar siempre titulados con el mismo caption de la ventana que los emite o en su defecto por una palabra o frase NO tcnica que identifique al proceso o modulo, de fcil lectura por parte de los usuarios.

Menus Su forma y colores deben de ser siempre consistentes en todos los sistemas, los tem a seleccionar deben tener teclas de acceso rpido, en caso de utilizar iconos o imgenes en los mens estos deben ser consistentes, en todo el sistema y sern agregados tras previa discusin y puesta en estndares por el grupo de desarrolladores de la institucin. Para cualquiera de los tipos de mens, los textos debern comenzar con un verbo, preferiblemente en infinitivo y que sea suficientemente descriptivo de la accin que realizara El formato bsico para los mens pop-up (emergente o contextual) , ser como sigue: El 1er tem ser el titulo del men, este debe ser escrito en mayscula Un separador

22

Estndares de Programacin

tems seleccionables ( opciones )

Arquitectura de Desarrollo

Para el desarrollo de las nuevas aplicaciones de desarrollo se utilizar una arquitectura de 3 capas.

Capa Presentacin: Provee la interfaz del usuario. Las tecnologas que se utilizan en .Net son win forms para aplicaciones de cliente inteligente y ASP.Net para aplicaciones web.

Capa Lgica de Negocios: implementa la funcionalidad de la lgica de negocio. Esta capa est compuesta por componentes desarrollados en cualquier lenguaje de .NET. Generalmente se utiliza COM+ (Enterprise Services) para brindar el soporte transaccional, escalabilidad, etc.

Capa Acceso a Datos: provee el acceso a los repositorios de informacin persistente y/o sistemas externos. La tecnologa utilizada para desarrollar esta capa es ADO.NET, es comn utilizar stored procedure y XML.

Capa Presentacin

Componentes de Interfaz de Usuario (UIC) En aplicaciones de cliente inteligente se utilizan los componentes del namespace

System.Windows.Forms En aplicaciones WEB, los componentes corresponden al namespace System.Web.UI

Componentes de Proceso de Interfaz de Usuario (UPC) Componentes personalizados, frameworks de navegacin, libreras de funciones comunes, que faciliten el desarrollo de la interfaz de usuario.

23

Estndares de Programacin

Capa Lgica de Negocios

Componentes de Negocios (BC) Son los componentes que implementan las reglas de negocio. Se implementan en clases .NET que puedan utilizar los servicios de COM+ y/o Remoting.

Componentes de Workflow de Negocios (BW) Son componentes que representan las actividades de un proceso de negocio. Se implementan las clases .NET en conjunto con algn motor de flujos de trabajo u orquestador de procesos.

Entidades del Negocio (BE) Son contenedores de datos. Representan las entidades persistentes del negocio. Se transportan entre las capas. Pueden implementarse en clases .NET, DataSets tipados o DataSets sin tipar.

Interfaces de Servicio (SI) La lgica de negocios se expone mediante servicios. Cada servicios posee una interfaz, es decir un protocolo que indica cmo debe ser invocado. Puede implementarse utilizando Web Services o interfaces .NET.

Capa de Acceso a Datos

Componentes de Accesos a Datos (DAC) Abstraen a la lgica de negocios de los detalles especficos de la persistencia.

24

Estndares de Programacin

Minimizan el impacto en caso de cambio de motor de base de datos o la representacin de los datos. Se implementan con ADO.NET y generalmente se construye un set de clases utilitarias para facilitar el desarrollo y abstraer la utilizacin de un proveedor especfico (SQL Client, ORACLE Client, etc.)

Agentes de Servicio (SA) Se encargan de manejar el acceso a aplicaciones y servicios externos. Las tecnologas utilizadas son muy variadas y dependen de la aplicacin externa (Sockets, Biztalk, Web Services.)

Aplicaciones Web

Aspectos bsicos.

El desarrollo de aplicaciones web, se debe manejar, incluyendo el desarrollo de 3 capas, la estructura de elementos web como lo son:

Manejar el contenido del Sitio como texto, imgenes, videos, sonidos, animaciones, archivos en sus carpetas especficas. Utilizacin de Hojas de estilo la cual se manejara una general para todos los sistemas y se modificar dependiendo de la aplicacin, en diferentes clases o propiedades exclusivas para cada sistema en el archivo CSS. Permitiendo la estandarizacin para definir como se presentar cada elemento del contenido, el tipo de letra a definir, el formato y la posicin de cada elemento del documento, y la presentacin de las pginas.

Estructura de las paginas basados en XHTML, paginas dinmicas aspx, con lenguaje de programacin en .Net, archivo de lgica de programacin aparte del archivo aspx. Ejemplo

25

Estndares de Programacin

que se cree el archivo .aspx asociado al master page y se cree el archivo aspx.vb para visual basic o aspx.cs par C#.

Para el manejo de las interfaces web, (Pginas web), deben de mantenerse la estructura en diseo, imgenes (en el caso de Banner), estilo de mens. Manejar un nico template para las aplicaciones Web que se desarrollen en la institucin, para la homogenizacin del Sitio web y se mantenga el mismo formato e interfaz para cualquier aplicacin que se desarrolle.

Utilizacin de Paginas Principales

Una pgina principal es un archivo de ASP.NET con la extensin .master (por ejemplo, MySite.master) que tiene un diseo predefinido que puede incluir texto esttico, elementos HTML y controles de servidor. Las paginas principales nos permiten centralizar las funciones comunes de las pginas para que las actualizaciones puedan llevarse a cabo en un solo lugar. Adems nos facilitan la creacin de un conjunto de controles y cdigo, y aplican los resultados en un conjunto de pginas. Por ejemplo, puede utilizar los controles en la pgina principal para crear un men que se aplique a todas las pginas. Las pginas principales nos proporcionan un control ms preciso sobre el diseo de la pgina final al permitir controlar el modo en que se representan los controles PlaceHolder, y un modelo de objetos que permite personalizar la pgina principal a partir de pginas de contenido individuales. Haciendo as una pgina principal para el rea administrativa o privada del sistema web que se est desarrollando y una pgina principal para la parte pblica o interactiva con los usuarios en general. Manteniendo siempre el template propio de la institucin.

26

Estndares de Programacin

Manejo de Mens

Se debe mantener los mens acordes a la estructura utilizada de las pginas, en diseo, manejo, lenguaje de programacin. Se debe de utilizar mens programables dentro de la aplicacin, utilizando el lenguaje de programacin en .net para realizar cambios, ajustes validaciones o asignacin de opciones en el men en tiempo de ejecucin, ya sea mediante los componentes propios de .Net o componentes adicionales pero compatibles con .Net. La ubicacin de los mens se recomiendan que sean: Horizontales (Para opciones generales) por debajo del banner principal, y verticales (Para opciones especficas) al costado izquierdo de las pginas.

27