You are on page 1of 23

Taller de Proyecto 2

Estndares de Programacin de Base de Datos v1.1

Taller de Proyecto 2

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

Historial de Revisin
Fecha
11/09/2008
15/09/2008

Versin
1.0

Descripcin
Estndares de Programacin

1.1

Nomenclatura Oracle
Correccin de Nomenclatura

Autor
Encarnacin, Ral
Encarnacin, Ral

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008
ndice

1. INTRODUCCIN............................................................................................ 6
1.1

OBJETIVO

ALCANCE..........................................................................................................6

2. GENERALIDADES..........................................................................................7
2.1

CONCEPTOS.......................................................................................................................7

2.1.1

Aplicaciones...................................................................................................... 7

2.1.2

Mdulos.............................................................................................................. 7

2.1.3

Identificador...................................................................................................... 8

2.2

ENTORNOS........................................................................................................................8

2.2.1

Definicin........................................................................................................... 8

2.2.2

Desarrollo.......................................................................................................... 8

2.2.3

Integracin........................................................................................................ 9

2.2.4

Produccin......................................................................................................... 9

2.3

RESPONSABILIDADES...........................................................................................................9

2.3.1

Desarrollo.......................................................................................................... 9

2.3.2

Integracin........................................................................................................ 9

2.3.3

Produccin....................................................................................................... 10

2.3.4

Usuarios........................................................................................................... 11

3. IDENTIFICACIN DE MDULOS....................................................................11
3.1

APLICACIN.....................................................................................................................11

3.2

MDULO.........................................................................................................................11

4. LENGUAJES Y TECNOLOGAS........................................................................11
5. OBJETOS DE BASE DE DATOS.......................................................................12
5.1

TABLAS, STORED PROCEDURES, FUNCIONES, TRIGGERS

SECUENCIAS.....................................12

5.1.1

Nomenclatura de Tablas................................................................................13

5.1.2

Nomenclatura de Paquetes...........................................................................13

5.1.3

Nomenclatura de Stored Procedures..........................................................14

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

5.1.4

Nomenclatura de Functions..........................................................................14

5.1.5

Nomenclatura de Triggers.............................................................................15

5.1.6

Nomenclatura de Secuencias.......................................................................15

5.2

INDICES....................................................................................................................... 16

5.3

CAMPOS..........................................................................................................................17

6. SQL............................................................................................................ 17
6.1

INTRODUCCIN.................................................................................................................17

6.2

ESTILO............................................................................................................................17

6.2.1

SELECT............................................................................................................. 17

6.2.2

JOIN................................................................................................................... 18

6.2.3

INSERT.............................................................................................................. 19

6.3

OPTIMIZACIN..................................................................................................................20

7. PL/SQL....................................................................................................... 20
7.1

VARIABLES

7.2

ESTILO............................................................................................................................21

7.3

CURSORES.......................................................................................................................22

7.4

EXCEPCIONES

DE TRABAJO Y DE

ENTRADA/SALIDA......................................................................20

Y CONTROL DE ERRORES.................................................................................22

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

Estndares de Programacin

1.

Introduccin
El presente documento describe detalladamente los Estndares de Programacin a
utilizarse para el trabajo del curso de Taller de Proyectos 2. Uno de los aspectos
clave de este documento es la definicin y uso homogneo de todas las
herramientas de desarrollo.

1.1

Objetivo y Alcance
El objetivo y alcance del presente documento es listar y describir cada uno de los
Estndares de Programacin para el trabajo del desarrollo del curso de Taller de
Proyectos 2.

Los objetivos de dicha normalizacin son:

Aumentar la confianza del usuario final en las aplicaciones desarrolladas,


ofrecindole un entorno familiar, sin sorpresas ni excepciones.

Promover

la

colaboracin

entre

los

diferentes

grupos

de

desarrollo

permitiendo que soluciones elaboradas para una aplicacin se utilicen en el


desarrollo de otras.

Facilitar el mantenimiento de aplicaciones haciendo que un mdulo no est


ligado al programador del mismo.

Este documento contiene normas para el desarrollo de software en sus aspectos


fundamentales: estndares de nomenclatura, entornos de explotacin y desarrollo,
uso de las herramientas, etc.

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

Los principales destinatarios son los analistas y programadores responsables del


desarrollo de aplicaciones.

El rea de Sistemas es la responsable de promover esta normalizacin y de verificar


su cumplimiento.

El documento no pretende ser completo. Muchos aspectos del desarrollo de software


quedarn

fuera

de

estas

especificaciones.

Por

ello,

resulta

especialmente

interesante que los responsables de las diferentes aplicaciones propongan nuevos


estndares para todos aquellos aspectos no cubiertos en este documento, evitando
la diversificacin de criterios en las soluciones propuestas a problemas comunes.

2.

Generalidades
2.1

Conceptos

Introducimos en este apartado algunos conceptos generales que nos sern de


utilidad en la definicin de estndares.

2.1.1 Aplicaciones
Llamaremos

aplicacin

cualquier

desarrollo

software

funcionalmente

independiente que, no obstante, puede interconectarse, puntualmente, a otros


desarrollos.

A cada aplicacin se le asocia un cdigo nico de una letra que denominamos


cdigo de aplicacin.
Cdigo

Aplicacin
Servicios Municipales y Cuidado del Medio

SMCMA
Ambiente

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1
2.1.2

Versin: 1.1
Fecha: 15/09/2008

Mdulos

Un mdulo puede ser cualquier programa: jsp, scripts, formas, reportes, etc. Los
mdulos pueden ser fuentes o ejecutables, si bien, algunas clases de mdulos
(procedimientos SQL) pueden tratarse indistintamente como fuentes o ejecutables.

2.1.3 Identificador
Por ltimo

definiremos

el

concepto

de

identificador,

el

cual

emplearemos

frecuentemente en la normalizacin de los nombres de los diferentes objetos. Un


identificador genrico se construye abreviando la descripcin del objeto (campo,
tabla,...) al que pretende identificar. Si la descripcin consta de ms de dos palabras
significativas, se incluir el smbolo _ como separador entre las mismas. Un
identificador nunca se construir a partir de ms de tres palabras. Las palabras
elegidas para construir el identificador pueden abreviarse.
El identificador puede contener exclusivamente los caracteres a-z,
0-9 y _ debiendo comenzar por una letra.
Al identificador genrico se le aadirn cdigos que aporten informacin sobre el
objeto identificado como se describe posteriormente en este documento) por lo que
las palabras elegidas para construir el identificador no deben hacer referencia a la
naturaleza del objeto identificado.

2.2

Entornos

2.2.1 Definicin
Desde un punto de vista lgico se distinguirn tres entornos bien diferenciados:
Desarrollo, Integracin y Produccin.

2.2.2 Desarrollo
El Entorno de Desarrollo comprende todos los mdulos sobre los cuales trabaja el

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

grupo de programacin en las primeras fases del desarrollo de una nueva


aplicacin: desarrollo y pruebas unitarias. Existir un Entorno de Desarrollo por cada
nueva aplicacin que se empiece.

2.2.3 Integracin
El Entorno de Integracin se compone de los mdulos y escenarios de datos
necesarios para realizar las pruebas de integracin previas a la puesta en servicio
de una aplicacin. Una vez entregada a los usuarios, el grupo de mantenimiento
realizar su labor sobre este entorno. Cada aplicacin dispondr de su propio
Entorno de Integracin siendo posible disponer simultneamente de ms de una
versin de la misma aplicacin.

2.2.4 Produccin
El Entorno de Produccin consta de los datos y mdulos ejecutables que emplean
los usuarios finales as como de todos los mdulos necesarios para reconstruir la
versin actual de los ejecutables.

2.3
2.3.1

Responsabilidades
Desarrollo

Cada programador dispondr de sus propios directorios de trabajo as como de


datos independientes para realizar pruebas unitarias de los mdulos que vaya
desarrollando. Es responsabilidad del programador la organizacin de su directorio
de trabajo as como el mantenimiento de sus datos de prueba.

Se favorecer el traspaso de mdulos en desarrollo entre programadores con la


nica limitacin de que un programador no pueda modificar el trabajo de otro.

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

2.3.2 Integracin
Desde el primer momento que se necesite probar la integracin de dos o ms
mdulos se crear un Entorno de Integracin para la aplicacin correspondiente. A
este entorno se pasarn los mdulos que hayan superado las pruebas unitarias y
sobre los que se vayan a realizar las pruebas de integracin.

El rea de Sistemas crear los Entornos de Integracin necesarios pasando, a


continuacin, la responsabilidad del mantenimiento de los escenarios de pruebas y
de la coherencia del Entorno de Integracin al Analista responsable de la aplicacin.

Hasta la puesta en servicio de la aplicacin, existirn simultneamente los Entornos


de Desarrollo e Integracin para una misma aplicacin. Una vez creado el Entorno
de Explotacin dejar de existir el de desarrollo.

Para las aplicaciones en explotacin es posible mantener varias versiones de la


misma en el Entorno de Integracin (Para mantenimiento y otra para desarrollar
nuevas funcionalidades).
Los Entornos de Integracin de las diferentes aplicaciones estarn aislados. Con el
acuerdo previo de los Analistas responsables, el rea de Sistemas facilitar la
colaboracin entre los diferentes grupos de desarrollo.

2.3.3 Produccin
Las aplicaciones se distribuirn en el Entorno de Produccin atendiendo a
consideraciones de seguridad y de rendimiento. La integridad y seguridad de los
datos y mdulos en el Entorno de Explotacin sern responsabilidad exclusiva del
rea de Sistemas. Se facilitaran los mecanismos adecuados para permitir a los
grupos de mantenimiento de aplicaciones el traspaso de mdulos modificados o

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

nuevos al Entorno de Explotacin.

El Analista responsable de cada aplicacin dispondr de acceso no restringido a los


mens de su aplicacin en el Entorno de Explotacin. Adems podr acceder a las
tablas correspondientes de la base de datos, si bien, no podr modificar la
estructura de las mismas.

2.3.4 Usuarios
Los usuarios podrn acceder a los datos en explotacin exclusivamente a travs de
la aplicacin correspondiente. El responsable del rea para la que se ha desarrollado
una aplicacin definir claramente los perfiles de todos los usuarios de modo que
puedan delimitarse responsabilidades.

La alteracin de datos en explotacin slo ser posible, en general, por medio de la


aplicacin, y por un usuario debidamente autorizado (con el perfil adecuado). No
obstante, en casos excepcionales y con la debida autorizacin del responsable del
rea correspondiente, el Analista de la aplicacin podr modificar los datos cuando
as se considere oportuno.

3.

Identificacin de Mdulos
El nombre de un mdulo consta de no ms de 12 caracteres en minsculas (a-z)
distribuidos de la siguiente forma: de tal forma que se le pueda identificar
unvocamente.
El significado de los caracteres que componen el nombre de un mdulo es el
siguiente:

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1
3.1

Versin: 1.1
Fecha: 15/09/2008

Aplicacin

Cdigo de la Aplicacin a la que pertenece el mdulo.

3.2

Mdulo

Esta palabra deber identificar un mdulo dentro de una Aplicacin.

4.

Lenguajes y Tecnologas
El Grupo 1 utilizar ORACLE como gestor de base de datos, de modo que todas las
aplicaciones desarrolladas sern implementadas para dicho producto empleando
herramientas compatibles con el mismo.

Los Lenguajes y Tecnologas seleccionadas para el desarrollo de aplicaciones en el


Grupo 1 son los siguientes:

Java como lenguaje de Programacin.

Oracle PL/SQL como lenguaje para la construccin de Objetos del Servidor de


Base de Datos.

MVC como patrn de Arquitectura del software.

JDK 6 actualizacin 7 como Framework de desarrollo.

JSP para el desarrollo de las pginas de servidor web.

Las versiones superiores de estos productos podrn irse incorporando al desarrollo


de aplicaciones conforme se vaya probando su idoneidad.

El empleo para la generacin de cdigo de usuario final de herramientas diferentes


a las citadas deber consultarse previamente.

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

5.

Versin: 1.1
Fecha: 15/09/2008

Objetos de Base de Datos


Tablas, Stored Procedures, Funciones, Triggers y Secuencias

5.1

El nombre de todos los objetos de la Base de Datos se escribir en


maysculas.
El nombre de todos los objetos de la Base de Datos se escribir en singular.
Toda la programacin se har en ingles.
No se usar por ningn motivo.
Todos los objetos tendrn la siguiente cabecera de definicin:

/*******************************************************************
Name
: Name of Database Object
Module
: Module name from Object
Process
: Brief description of Object
Date
: yyyy/mm/dd
Type
: Type Object
----------------------------------------------------------------Updated by
: Author of updating
Date
: Date of updating (yyyy/mm/dd)
Ref.
: Brief description of the change
*****************************************************************/

5.1.1 Nomenclatura de Tablas


El nombre de las tablas ser siempre en singular y con la nomenclatura de objetos,
Ejemplo:

Turno
Parque
Herramienta

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

5.1.2 Nomenclatura de Paquetes


El nombre de los paquetes ser de la siguiente manera:
pck_nombre

Donde:
pck

: indica que el objeto es un paquete.

nombre

: es el nombre del paquete.

Ejemplo: customer

Observacin:
Para efectos de mantenimiento la nomenclatura a emplear ser:
pck_mante_turno, en donde se aloja los stores procedures para insercin,
actualizacin, eliminacin y consulta.

5.1.3 Nomenclatura de Stored Procedures


El nombre de los Stored Procedures ser de la siguiente manera:

usp_nombre

Donde:
usp
nombre
nnn

: indica que el objeto es un stored procedure.


: es el nombre del stored procedure.
: es el identificativo del tipo de stored procedure.
ins: indica que es un stored procedure de insercin.

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

del: indica que es un stored procedure de eliminacin.


upd: indica que es un stored procedure de actualizacin.
sel: indica que es un stored procedure de actualizacin.

Ejemplo: usp_programacion_ins

5.1.4 Nomenclatura de Functions


El nombre de las funciones ser de la siguiente manera:

fun_nombre

Donde:
fun

: indica que el objeto es una funcin.

nombre

: es el nombre de la funcin.

5.1.5 Nomenclatura de Triggers


El nombre de los triggers ser de la siguiente manera:

trg_nombre_nnn

Donde:
trg
nnn

: indica que el objeto es un trigger.


: indica que tipo de trigger es.
ins: indica que es un trigger de insercin.
del: indica que es un trigger de eliminacin.
upd: indica que es un trigger de actualizacin.

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1
nombre

Versin: 1.1
Fecha: 15/09/2008

: es el nombre del trigger

5.1.6 Nomenclatura de Secuencias


El nombre de las secuencias ser de la siguiente manera:

seq_nombre

Donde:
seq

: indica que el objeto es una secuencia.

nombre

: es el nombre de la secuencia.1

Ejemplo: seq_herramienta, seq_articulo_limpieza

Obs: Utilizar el carcter _ para dividir las palabras.

5.2

Indices

Llamaremos ndices primarios a aquellos que identifican unvocamente a cada fila


de una tabla (clave primaria o clave candidata).El resto de los ndices que se definan
en una tabla (no son nicos y se aaden para optimizar algunas sentencias) diremos
que son secundarios.

Los ndices primarios se nombrarn anteponiendo el prefijo AIP_ en el nombre de la

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

tabla donde A es el cdigo de la aplicacin, seguido del nombre de la tabla o algn


nombre descriptivo despus anaadiendo el sufijo _n, en donde n es un nmero
secuencial que nos permite diferenciar los distintos ndices.

Los ndices secundarios se nombrarn anteponiendo el prefijo BIP_ en el nombre de


la tabla donde B es el cdigo de la aplicacin, seguido del nombre de la tabla o
algn nombre descriptivo

despus anaadiendo el sufijo _n, en donde n es un

nmero secuencial que nos permite diferenciar los distintos ndices.

5.3

Campos

Los nombres de campos se escribirn con letras maysculas y en singular con la


nomenclatura de objetos.

6.

SQL
6.1

Introduccin

La tendencia actual de las herramientas ORACLE es a no emplear SQL directamente


sino embebido en lenguajes procedurales como PL/SQL. A continuacin se presenta
diferentes normas a tener en cuenta en la codificacin de las sentencias SQL.

6.2

Estilo

La codificacin de cualquier sentencia DML (Data Manipulation Language), se


realizar en maysculas y se deber emplear la identacin para su clarificacin,
facilitando la bsqueda de las tablas implicadas FROM y de las condiciones
impuestas WHERE. Cuando estn implicadas ms de una tabla, deben emplearse,
asimismo, las abreviaturas asignadas a cada tabla, vista o secuencia para cualificar
los campos ayudando de este modo, al optimizador a realizar el parser de la
sentencia.

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

Es imposible dar aqu un formato genrico para todas las sentencias que SQL nos
permite construir. Damos a continuacin algunos ejemplos de codificacin, a modo
de sugerencia, si bien, cualquier otro estilo es aceptable siempre que ayude a la
legibilidad de las sentencias y sea homogneo a travs de toda la aplicacin.

6.2.1 SELECT
Se muestra en primer lugar, se muestra, un SELECT simple. Si es necesario
recuperar muchos campos, podran agruparse varios por lnea:

SELECT

codigo,
descripcion

6.2.2

FROM

ingreso

WHERE

fecha = 10/09/2008

JOIN

Como se ha comentado en diferentes ocasiones, se emplean las abreviaturas para


cualificar los campos cuando se trata de un join:

SELECT

fac.c_interno,
fac.n_fact_prov,
fac.d_grabacion,
fac.i_bruto
fac.c_tipo,
tf.d_tipo

FROM

ct_facturas fac,
ct_tipos_facturas tf

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

6.2.3

JOIN

fac.c_interno = tf.c_interno

WHERE

f.c_tipo = tp.c_tipo

Versin: 1.1
Fecha: 15/09/2008

INSERT

En los INSERT es importante destacar que deben especificarse los nombres de los
campos para mantener la independencia lgica de la sentencia con respecto a los
cambios en la definicin de la tabla:

INSERT INTO factura


(tipo, fecha, observacion)
VALUES
('J', '11/09/2008', 'A JUSTIFICAR');

Igualmente, se especifican los nombres de los campos para mantener la


independencia lgica en la sentencia UPDATE:

UPDATE

factura

SET
tipo = v_Tipo,
fecha = v_Fecha,
descripcion = v_Descripcion
WHERE Codigo = v_Codigo;

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

Es interesante mostrar, por ltimo, como podran formatearse los subquerys


anidados:

SELECT

Codigo
Tipo

FROM

Factura

WHERE

Tipo NOT IN (SELECT tipo


FROM Tipo_Factura);

6.3

Optimizacin

Es en la codificacin de sentencias SQL donde el programador puede influir con


mayor acierto sobre el rendimiento de la aplicacin.
ORACLE, utiliza un optimizador basado en reglas lo que implica que el camino
elegido para procesar una sentencia depende, exclusivamente, de la sintaxis de la
misma y de la estructura de la Base de Datos.
Conocer el comportamiento del optimizador es muy importante tanto para disear
como para implementar un buen cdigo. Una descripcin detallada del mismo,
adems de muchas otras consideraciones sobre rendimiento y optimizacin de
aplicaciones.

7.

PL/SQL
7.1

Variables de trabajo y de Entrada/Salida

Los criterios para nombrar las variables son los mismos que los especificados para
los campos de las tablas teniendo en cuenta que se antepondrn los prefijos
mostrados en la seccin nomenclatura de campos de las tablas del servidor.
Si una variable es la copia local de un campo, el nombre de la variable ser el del
campo, anteponindole el prefijo v_. Si una variable es un Parmetro se antepone la

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

letra p_ Por ejemplo,

Nombres de variables:
v_Codigo
v_Descripcion

Nombres de parmetros:
p_Codigo

Siempre que una variable sea copia de un campo definido para una tabla de la Base
de Datos, se emplear la clusula %TYPE en lugar de declarar explcitamente el tipo
y la longitud de la misma. Esto facilita el mantenimiento de los programas.

Los ndices empleados para bucles (loop, for, etc.) que no tengan un significado
especial se nombrarn simplemente por la letra i.
Para bucles anidados se aadirn nmeros que indiquen la profundidad.

7.2

Estilo

El lenguaje PL/SQL es el ms utilizado en el entorno ORACLE, En principio, al


programar se seguirn los criterios de identacin, comentarios del cdigo. En
particular, se proporcionan las recomendaciones que se considera de inters:

No declarar procedimientos annimos, esto es, cada secuencia de cdigo


escrito en PL/SQL debe estar incluido dentro de un bloque BEGIN/END.

La identacin debe emplearse para aclarar el alcance de los diferentes


bloques BEGIN/END, as como de sentencias como IF/ELSIF/END IF, LOOP,
FOR, etc.

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

Se incluirn comentarios que clarifiquen el procesamiento. Los comentarios


se especificaran con -- en lugar de utilizar la palabra REM. Se aadirn
comentarios en el margen derecho de la definicin de variables cuya utilidad
no sea evidente. Asimismo, se incluirn lneas de comentario en blanco para
espaciar el cdigo y separar los diferentes bloques lgicos de procesamiento.

Se cuidar el mbito de las variables, definindolas dentro de los bloques de


cdigo donde son utilizadas y no de modo global.

Se buscar la consistencia en el empleo de maysculas y minsculas, lo que


facilitar la elaboracin de herramientas de administracin. En general, todo
el cdigo se escribir con maysculas salvo los textos entrecomillados.

Cualquier otra alternativa ser considerada vlida siempre que se mantenga la


coherencia dentro de toda la aplicacin.

7.3

Cursores

PL/SQL permite la declaracin de cursores explcitamente para cuyo procesamiento


se sigue un esquema OPEN FETCH - CLOSE.

Adicionalmente se pueden emplear cursores implcitos FOR. En el desarrollo de


aplicaciones se evitar el uso de cursores implcitos dado que resulta muy fcil que
estos queden abiertos cuando ya no se utilizan, haciendo que el nmero de cursores
abiertos aumente innecesariamente.

Los cursores se declararn, por tanto, explcitamente asignndoles como nombre la


abreviatura asociada a la tabla sobre la que se abre la consulta o la ms
representativa en caso de joins.
En el supuesto de que se declare ms de un cursor sobre la misma tabla, se aadir

Elaborado por: Ral Encarnacin Zuiga


Estndares de Programacin
Grupo 1

Versin: 1.1
Fecha: 15/09/2008

al nombre de los mismos algn carcter extra que los diferencie.

7.4

Excepciones y control de errores

Las excepciones no genricas que se repitan con frecuencia, debern estandarizarse


dentro del mbito de cada aplicacin. El nombre de las mismas as como su
procesamiento (puntos de rollback, mensajes, etc.) se fijar de modo global para
toda la aplicacin.

Los

procedimientos

comunes

evitarn

cualquier

interaccin

con

el

usuario

(mensajes, solicitud de informacin adicional,...) asignando un cdigo de error a


cada posible excepcin y dejando que sea el mdulo que realiza la llamada el que la
procese. Esto aumenta la posibilidad de reutilizacin del procedimiento.

Por ltimo, se vigilar el uso de la clusula WHEN OTHERS dado que puede
contribuir al enmascaramiento de errores. Se deben preveer todos los posibles
errores que pueda provocar un determinado bloque PL/SQL y reservar el uso de la
clusula WHEN.