Sei sulla pagina 1di 13

rea de SQA

PLAN DE CONVENCIONES
Y ESTNDARES DE CODIFICACIN
1. Generalidades
La transicin desde un diseo detallado a la codificacin, comienza cuando el
desarrollador escribe los mdulos que compilen en el lenguaje de programacin
seleccionado.
Esta transicin es obvia cuando existe un diseo que ha sido
confeccionado en forma detallada, lo que facilita la programacin.
Un cdigo fuente completo debe reflejar un estilo armonioso, como si un nico
programador hubiera escrito todo el cdigo de una sola vez.
La legibilidad del cdigo fuente repercute directamente en lo bien que un
programador comprende un sistema de software. La mantencin del cdigo es la facilidad
con que el sistema de software puede modificarse para aadirle nuevas caractersticas,
modificar las ya existentes, depurar errores, o mejorar el rendimiento.
Aunque la legibilidad y la mantencin son el resultado de muchos factores, una
faceta del desarrollo de software en la que todos los programadores influyen
especialmente es en la tcnica de codificacin.
El cdigo debe estar basado en los principios de:
-

Documentacin del cdigo


Incluir una cabecera para cada mdulo, procedimiento y/o funcin
Utilizar nombres significativos y no ambiguos
Evitar la mezcla de tipos de datos
Evitar variables temporales
Usar parntesis en las expresiones
Escribir cdigo legible
Adjuntar comentarios tiles y claros
Ser consistente en el uso del lenguaje de programacin
Crear mdulos cortos, basados en criterios de unicidad y reutilizacin
Crear el cdigo en forma simple

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 1 de

rea de SQA

2. Documentacin Interna
Existen dos tipos de documentacin de software: interna y externa. La
documentacin externa como por ejemplo las especificaciones, los archivos de ayuda y
los documentos de diseo, se debe mantener fuera del cdigo fuente. La documentacin
interna est formada por los comentarios que el equipo de desarrollo escribe dentro del
cdigo fuente durante la fase de implementacin.
A continuacin se dan a conocer las normas y convenciones para mantener un
cdigo fuente estndar dentro del Departamento de Sistemas de Rabie S.A.
(1) Los comentarios deben ser en espaol.
(2) Los comentarios estarn situados arriba de cualquier instruccin que se desee
comentarizar.
(3) Evite aadir comentarios al final de una lnea de cdigo, porque lo hacen ms difcil de
leer. Por ejemplo:
If VariableA = VariableB Then

Comentario

Al contrario, los comentarios al final de la lnea, s son apropiados al anotar declaraciones


de variables. En este caso, alinee todos los comentarios de final de lnea en la misma
posicin de tabulacin. Se sugiere que las variables que sean del mismo tipo de dato,
sean declaradas en lneas separadas. Esto facilitar la comprensin y fcil lectura del
cdigo.
Dim
Dim
Dim
Dim

VariableA
VariableD
VariableB
VariableC

as
as
as
as

String
Double
Integer
Integer

Comentario
Comentario
Comentario
Comentario

(4) Declare todas las variables en la parte superior de cada mdulo, procedimiento o
funcin, a excepcin de las variables que son utilizadas como ndices en bucles y que son
declaradas en la misma sentencia.
(5) Evite los comentarios recargados, como las lneas enteras de asteriscos u otro tipo de
carcter para comentarizar una instruccin simple. Por ejemplo:
/*****************************************************************
Si el cliente es nuevo, entonces
*****************************************************************/

Al contrario, utilice este tipo de comentarios, para indicar que toda una regin de cdigo
es importante para el mdulo, procedimiento y/o funcin. Por ejemplo, para sealar que
las siguientes lneas de cdigo, corresponden a una validacin escrita en MS SQL.
/********************************************************************
Condiciones de Retencin, Validacin tipo de Crdito
********************************************************************/
--Cliente es nuevo

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 2 de

rea de SQA
IF @ClienteNuevo = 1
BEGIN
.

(6) Use frases completas cuando escriba comentarios. Los comentarios deben aclarar el
cdigo, no aadirle ambigedad.
(7) Vaya comentando a la vez que programa, porque probablemente no tenga tiempo de
hacerlo ms tarde. Por otro lado, aunque tuviera oportunidad de revisar el cdigo que ha
escrito, lo que parece obvio hoy, es posible que tiempo despus no lo sea.
(8) Use los comentarios para explicar el propsito especfico del cdigo. No los use como
si fueran traducciones literales.
(9) Haga comentarios en el cdigo que est formado por bucles o bifurcaciones lgicas.
Se trata en estos casos de reas clave que ayudarn a los lectores del cdigo fuente a
una buena compresin de qu es lo que realiza el mdulo, procedimiento o funcin.
(10) Realice los comentarios en un estilo uniforme, respetando una puntuacin y
estructura coherentes a lo largo de toda la aplicacin.
(11) Se sugiere que separe los comentarios de sus delimitadores mediante espacios. Si
respeta estas normas, los comentarios sern ms claros y fciles de localizar si trabaja
sin indicaciones de color y si el carcter de comentario es demasiado pequeo.
Por ejemplo:
Esto es un comentario
Espacio en blanco

(12) Evite comentarios que expliquen cosas obvias.


(13) Antes que el procedimiento o mdulo pase a Produccin, quite todos los comentarios
temporales o innecesarios, para evitar cualquier confusin en la futura fase de
mantenimiento.
(14) Todos los comentarios deben estar ortogrficamente bien escritos. Una escritura
incorrecta demuestra un desarrollo negligente.

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 3 de

rea de SQA

3. Cabeceras
Al principio de cada procedimiento, funcin o mdulo, resulta til hacer comentarios
estndar, repetitivos y que indiquen el propsito de la rutina.
El formato para la Cabecera deber contener el caracter para comentar multi-lneas. Si el
lenguaje no lo posee, escribir el caracter en cada lnea.
Formato de Cabecera para Ms SQL
/************************************************************************
NOMBRE PROCEDIMIENTO
: (1 lnea)
OBJETIVO PROCEDIMIENTO : (hasta 4 lneas)
ENTRADAS
: (enumerar las entradas, separadas por comas
junto con una pequea descripcin dentro de parntesis)
SALIDAS
: (enumerar las salidas, separadas por comas)
FECHA CREACIN
: (incluya fecha, hora y autor)
FECHA LTIMA MODIFIC.
: (incluya fecha, hora y quien la realiz.
Copiar esta lnea hacia abajo, tantas veces hayan modificaciones)
************************************************************************/

Formato de Cabecera para Ms Visual Basic

NOMBRE PROCEDIMIENTO : (1 lnea)


OBJETIVO PROCEDIMIENTO: (hasta 4 lneas)
ENTRADAS
: (enumerar las entradas, separadas por
comas junto con una pequea descripcin dentro de parntesis)
SALIDAS
: (enumerar las salidas, separadas por comas)
FECHA CREACIN
: (incluya fecha, hora y autor)
FECHA LTIMA MODIFIC. : (incluya fecha, hora y quien la realiz.
Copiar esta lnea hacia abajo, tantas veces hayan modificaciones)

Un ejemplo de la cabecera de un Procedimiento Almacenado escrito en Ms SQL sera:


/************************************************************************
NOMBRE PROCEDIMIENTO
: pa_GNV_ValidacionNotaVentaPorEnvio
OBJETIVO PROCEDIMIENTO : Realiza el proceso de validacion de la Nota de
Venta por meson y cuyo vendedor sea 899. La validacin se realiza sobre
las Notas de Venta de Envio o Reposicion de mercaderia por CD y por
negocio, dejando la Nota de Venta Aprobada o Retenida.
ENTRADAS
: @cod_cd (Cdigo Centro de Distribucin),
@not_num_negocio (Numero de Negocio asignado a la Nota de Venta),
@monto_negocio (Valor Bruto del Negocio)
SALIDAS

: No tiene

FECHA CREACIN

: 28/04/2004

16:50

Paola Saez

FECHA LTIMA MODIFIC.


: 16/02/2005
17:55
Paola Saez
************************************************************************/
Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 4 de

rea de SQA

Tanto las Fecha de Creacin y Modificacin que se utilizarn en la cabecera, tendrn el


siguiente formato: dd/mm/aaaa. La hora, ser en formato de 24 horas.

4. Convenciones de Nombres
Desde el punto de vista de la programacin, un nombre nico sirve solamente para
diferenciar un elemento de otro. Los nombres expresivos funcionan como ayuda para el
lector, por eso, es lgico dar nombres que sean fciles de comprender.
4.1 Variables y Constantes
(1) Los nombres de todas las estructuras de cdigo deben ser en espaol.
(2) Los nombres de las variables, deben ser palabras significativas que den cuenta el
para qu servir esa variable. Aprovechando as, las nuevas herramientas, que
permiten nombres de variables con un largo mayor a 8 caracteres.
(3) Los nombres de las variables comprendern de una o ms palabras compuestas, cada
una de las cuales, su primera letra ser maysculas, mientras que las dems, sern
minsculas. En el nombre de la variable, no se usar guiones para separar las palabras.
Por ejemplo:
Direccion
NombreCliente
VendedorOctavaRegion

(4 Es recomendado que los nombres de las variable booleanas contengan una palabra
que describa su estado, por ejemplo: PuedeEliminarse, EsVendedor etc. Y siempre se
debe referir al estado verdadero, por ejemplo: TieneCredito, y no a su estado falso, por
ejemplo NoTieneCredito.
(5 Incluso para el caso de una variable de poco uso, que deba aparecer slo en unas
cuantas lneas de cdigo, emplee un nombre descriptivo. Utilice nombres de variables de
una sola letra, como i, j, k, l, m slo para ndices (ciclos For).
(6) En lo posible, no utilice nmeros o cadenas literales, como por ejemplo:
For i = 1 To 7.

En su lugar, emplee constantes con nombre, para que resulten fciles de mantener y
comprender. Un ejemplo en MS Visual Basic sera:
For i = 1 To CantidadClientes

4.2 Funciones Mdulos

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 5 de

rea de SQA

(1) Los nombres de las funciones, mdulos o procedimiento, mantendrn la primera letra
en mayscula de todas sus palabras.
Por ejemplo:
ValidarNotasVentas ()
CalcularComision ()
ImprimirInformeMensual ()

(2) Evite nombres imprecisos que permitan interpretaciones subjetivas, como por ejemplo
DefinirEsto(). Tales nombres contribuyen ms a la ambigedad que a la abstraccin.
(3) Utilice la tcnica verbo-sustantivo para nombrar procedimientos que ejecuten alguna
operacin en un determinado objeto. Evite usar preposiciones.
Por ejemplo:
CalcularTotal ()
GenerarInformeVentasDiario ()
GenerarInformeVentasMes ()

Y no utilizar nombres como:


ImprimirLosInformesDeLosGastosDelMes ()

Sino que utilice:


ImprimirInformesGastosMes()

4.3 Parmetros
(1) Los parmetros siguen el mismo estndar de las variables.

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 6 de

rea de SQA

5. Presentacin (espacios en blanco, parntesis, etc)


El formato hace que la organizacin lgica del cdigo sea ms clara. Si toma el tiempo de
comprobar que el cdigo fuente posee un formato coherente y lgico, les resultar de
gran utilidad a usted y a otros programadores que tengan que descifrarlo.
(1) Evite albergar mltiples clases en un slo archivo.
(2) Alinee las secciones de cdigo mediante la sangra o tabulacin predeterminada. En
el caso que la tecla TAB no fuere compatible con el editor, utilice la cantidad de 7 espacios
en blanco para cada tabulacin.
Por ejemplo:
Ejemplo en MS SQL
IF @ClienteNuevo = 1
BEGIN
SELECT @Vigente = ISNULL(ret_Vigente,'N')
FROM
dbo.tb_CausasRetencion (NOLOCK)
WHERE ret_Codigo = 7
IF @va_Vigente = 'S'
INSER INTO dbo.tb_NotasVenta (ret_Codigo, not_NumNotaVenta)
VALUES (7,@not_NumNotaVenta)
END

Ejemplo en MS Visual Basic


If

CantidadGiro.Text.Length = 0 Then
MsgBox("Ingrese la cantidad de dinero a girar.")
CantidadGiro.Focus()
Else
If GlosaGiro.Text.Length = 0 Then
MsgBox("Ingrese la glosa por este giro de dinero.")
GlosaGiro.Focus()
End If
End If

End If

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 7 de

rea de SQA

(3) En el caso de que el lenguaje de programacin utilice llaves de apertura, stas


debern ir al final de la primera lnea de una sentencia, mientras que la llaves de cierre,
debern ir puestas verticalmente con el comienzo de la sentencia, pero despus de la
ltima lnea de cdigo, que corresponda a dicha sentencia.
Un ejemplo en C sera:
While (VariableA <= 100) {

Llave apertura

HacerAlgo (ParametroA);
VariableB = VariableC + VariableD;
DisminuirUno (VariableA);
}

Llave de cierre al final de la sentencia. Alineada


verticalmente con el comienzo de la sentencia.

(4) Use un nico tipo de letra cuando publique versiones impresas del cdigo fuente.
(5) Se sugiere, que utilice espacios antes y despus de los operadores siempre que eso
no altere la sangra aplicada al cdigo.
Por ejemplo
CodigoVendedor = 1025, y no utilizar CodigoVendedor=1025

Espacios en Blanco
(6) Cuando tenga que dividir una lnea en varias, aclare que el cdigo sigue en la lnea de
ms abajo mediante un operador de concatenacin colocado al final de cada lnea, y no al
principio de la siguiente.
(7) No coloque ms de una instruccin por lnea, a excepcin de los bucles.
(8) Cuando escriba instrucciones SQL utilice solamente maysculas para las palabras
claves: SELECT, UPDATE, WHERE, FROM, BEGIN, IF, INNER JOIN, WHILE, entre otras.
(9) Coloque las clusulas SQL principales en lneas separadas, de modo que las
instrucciones sean ms fciles de leer y editar.
Por ejemplo:
SELECT
FROM
INNER JOIN

7,dbo.enotas_venta.not_num_nota_venta,art_cod_ean,not_linea,1
dbo.dnotas_venta (NOLOCK)
dbo.enotas_venta (NOLOCK) ON
dbo.dnotas_venta.not_num_nota_venta = dbo.enotas_venta.not_num_nota_venta

WHERE

dbo.dnotas_venta.not_num_nota_venta = @not_num_nota_venta
AND dbo.dnotas_venta.not_revisado = 0
AND art_cod_ean NOT IN
(SELECT DISTINCT art_cod_ean FROM dbo.marticulos (NOLOCK))

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 8 de

rea de SQA

(10) Evite llamadas a mtodos dentro de sentencias condicionales, esto hace que el
cdigo sea poco eficiente.
(11) Use el operador condicional ternario solo en casos triviales, cuando sean casos
complejos evtelo.
(12) En el caso de nombres de variables, funciones, procedimientos, mdulos, tablas,
entre otros, que posean una en su identificacin, sta deber ser reemplazada por
nia, nie, ni, nio, niu, segn corresponda.
Por ejemplo:
Dim AoActual as Integer
Dim CantidadAcompaantes as Integer

Deber ser:
Dim AnioActual as Integer
Dim CantidadAcompaniantes as Intenger

(13) Para los nombres de variables, funciones, procedimientos, mdulos, tablas, entre
otros, se podrn utilizar abreviaciones de palabras, siempre y cuando, sean lo ms
significativas y legibles posible.
Por ejemplo:
No utilizar
Variable que almacena el nombre de un cliente
Dim NCliente as String
Dim NCli as String
Dim NombreC as String

Una alternativa podra ser


Variable que almacena el nombre de un cliente
Dim NomCli as String
Dim NomCliente as String
Dim NombreCli as String
Dim NombreCliente as String

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 9 de

rea de SQA
6. Microsoft SQL Server

6.1 General
(1) Nunca use caracteres especiales para la creacin de nombres de objetos.
(2) Nunca utilice procedimientos almacenados recursivos.
(3) No ponga prefijos sp_ a los procedimientos almacenados, ya que se trata de un prefijo
reservado para la identificacin de procedimientos almacenados de sistemas.
(4) No ponga prefijos fn_ a las funciones definidas por el usuario, ya que se trata de un
prefijo reservado para funciones integradas.
(5) No ponga prefijos xp_ a los procedimientos almacenados extendidos, ya que se trata
de un prefijo reservado para la identificacin de procedimientos almacenados extendidos.
6.2 Formato de Nombres de Objetos
(1) Tablas
Formato: tb_XXXXX_Nnnn, donde:
XXXXX: es el nombre abreviado de la aplicacin que las utiliza, hasta las cinco primeras
letras. Por ejemplo GNV, SISTO, SLT, ERPFC (Solomon Financiero/Contable), ERPLD
(Solomon Logstica/Distribucin).
Nnnn: Nombre que representa lgicamente la informacin almacenada en la tabla
Ejemplo: tb_SAV_Direcciones
(2) Vistas
Formato: vt_XXXXX_Nnnn donde:
XXXXX: Es la sigla del sistema con un mximo de 5 caracteres, todo en letras
maysculas.
Nnnnn: Nombre lgico, del uso de la vista
Ejemplo: vt_SISTO_DatosVendedoresSeleccionados

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 10 de

rea de SQA

(3) Procedimientos almacenados


Formato: pa_XXXXX_TIPO_Nnnn, donde:
XXXXX: Se refiere al sistema al cual est ligado, slo hasta 5 caracteres, todo en letras
maysculas.
TIPO: Debe ser llenado de acuerdo a la lista de abreviatura y segn lo que realiza el
procedimiento, por ejemplo:
SEL: Seleccin
OBT: Obtencin
INS: Insercin
ACT: Actualizacin
ELI: Eliminacin
COM: Combinacin de ms de un tipo (Personalizable)
Nnnn nombre lgico que identifica la funcin del procedimiento
Ejemplo: pa_BIMES_ACT_ValidacionNotaVentaPorPedido
(4) Servicio de Transformacin de Datos (DTS)
Formato: dts_XXXXX_Nnnn, donde:
XXXXX: Se refiere al sistema al cual est ligado, slo hasta 5 caracteres.
Nnnn nombre lgico que identifica al DTS
Ejemplo: dts_SAV_OutSavStock2
6.3 Recomendaciones al DBA
1. En la creacin de ndices:
1.1. En parmetro Factor de Relleno o FillFactor, NO utilizar el valor por defecto 90,
sino por el contrario utilizar 20.
1.2. La configuracin de ndices con la propiedad CLUSTERED activa, tienen como
objetivo su utilizacin mayoritariamente para procesos de LECTURA. Esto por
cuanto utilizan el ordenamiento fsico de los datos para acelerar la bsqueda, lo
que con inserciones causa un BLOQUEO de la tabla completa, teniendo un mayor
costo dado que implica mover fsicamente los registros.
2. Chequeo de la combinacin de los parmetros SQL, tales como: /3GB Y AWE (igual a
1) no tendra sentido esta mezcla, salvo por el cluster configurado habra que
confirmarlo.

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 11 de

rea de SQA

6.4 Normas para los Desarrolladores y DBA


3. En DTSs y JOBs, eliminar los estados de Failed que sean normales por la falta de
un archivo que no es vital o que no tiene movimientos.
4. Revisin de todos los JOBs que tengan una duracin mayor a 5 minutos.
5. Cuidado con realizar UPDATE a campos de ndices por cuanto la tabla es bloqueada.
6. Chequear Plan de Ejecucin de los Scripts de tal forma de evidenciar los Costos altos
y/o procesos de bsqueda secuencial o masiva a la tabla (SCAN TABLE). Poner
atencin en los ORDENAMIENTOS al interior de ellos.
7. Chequear posibles errores al referenciar tablas temporales.
8. Las pocas bsquedas que sean realizadas por LIKE, deben realizarse por la izquierda
de los campos cadena o string, de lo contrario prcticamente hace una bsqueda a
toda la tabla (SCAN TABLE).
9. Utilizar el Hint NOLOCK en consultas para evitar el bloqueo de la tabla, por ejemplo:
SELECT * FROM ENOTAS_VENTA (NOLOCK)
WHERE NOT_NUM_NEGOCIO=905
La opcin NOLOCK permite Leer de transacciones a las cuales no presenten
realizado un COMMIT, lo que se conoce como Lecturas Sucias.
Si se desea lee solamente datos confirmados, es decir, con un Commit ya
realizado, se recomienda utilizar el Hint READPAST en vez de NOLOCK.
Esto aplica bastante para las aplicaciones cliente (en el PC cliente) que
interactan durante la ejecucin de procesos.
10. En consultas utilizar los campos ndices para los Filtros y Uniones, ya que ello ayuda a
bloquear solo la cantidad de registros afectados y acelera la realizacin de la consulta.
De ser necesario definir nuevos ndices.
11. Evitar utilizar operador DISTINCT en sub-consultas, dado el mayor costo para el
motor de ordenar la informacin y luego filtrar los distintos valores, que reducir el subconjunto y luego filtrar los distintos en una muestra ms pequea.
Otro punto importante aqu es la utilizacin del operador IN, que realiza un
trabajo de bsqueda de todos los elementos involucrados, se recomienda
reemplazar por un EXIST, este ltimo tiene un menor costo al motor, de hecho,
encuentra en primero que Exista y sale de la condicin. As mismo la negacin de
NOT IN por NOT EXIST.
Por ejemplo:
UPDATE DBO.ENOTAS_VENTA SET NOT_ESTADO_NOTA_VENTA=1
WHERE ENOTAS_VENTA.NOT_NUM_NOTA_VENTA IN
(SELECT DISTINCT NOT_NUM_NOTA_VENTA
FROM CRET_ENOTAS_VENTA (NOLOCK)
UNION
SELECT DISTINCT NOT_NUM_NOTA_VENTA
FROM CRET_DNOTAS_VENTA (NOLOCK))
12. Las clusulas de agrupamiento como GROUP BY, HAVING, DISTINCT, ORDER BY,
TOP se realizan sobre el universo de registros antes de ejecutar el filtro. Por tanto, en
caso de tablas con gran cantidad de registros conviene:
12.1. Ejecutar los filtros primero almacenando el resultado en una tabla temporal.

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 12 de

rea de SQA

12.2. Ejecutar los agrupamientos sobre la tabla temporal.


Como observacin, se debe tener presente que existe un nuevo costo asociado cargar
la informacin en tablas temporales en memoria por cada proceso concurrente (por
ejemplo por usuario).
13. Cuando dentro de un proceso se realicen varios INSERT Y UPDATE a tablas con alta
cantidad de operaciones y/o un nmero alto de registros (mayor a 10.000
frecuentemente) considerar realizar dichas tareas sobre tablas TEMPORALES
FSICAS no en memoria. Para luego de finalizar el proceso completo volcar el
resultado completo MASIVO a las definitivas. Con ello se evitan posibles bloqueos
directos o indirectos.
14. Para los casos de lecturas Distribuidas, es decir, Querys a servidores vinculados,
considerar la opcin de realizar actualizaciones o cargas a ciertos intervalos de
tiempo.
Por ejemplo, mediante DTSs con el objeto de que la extraccin de datos
propiamente tal no impacte en el proceso completo.
15. Para los casos donde se tengan SUBCONSULTAS que utilicen varias instrucciones
SQL, considerar el almacenamiento parcelado en variables de tipo TABLE o en su
defecto en una o varias TABLAS temporales (recordar recomendacin del tamao
para la definicin de si es fsica o en memoria).
16. No deben utilizarse CURSORES bajo ninguna circunstancia.
17. No deben utilizarse TRIGGERS bajo ninguna circunstancia.
18. No debe existir Cdigo embebido en la codificacin en objetos de BD y aplicacin,
sino Procedimientos Almacenados y/o funciones, basados en principios de atomicidad
y unicidad de funcionalidades.
19. Realizar uso de indentacin/tabulacin y comentarios a los objetos y en los pasos
importantes que posean cada uno de ellos, a nivel de BD y aplicacin.
20. Por asuntos de seguridad, privacidad y posterior mantencin de las Bases de Datos,
no utilizar cdigo embebido SQL en que se manipulen los nombres de usuario y
passwords dentro de dicho cdigo.
Por ejemplo, no utilizar la siguiente sentencia:

openrowset('sqloledb','sql-erp';'consulta';'socrates','select * from
rabieapp..xproducto')
21. Cada nueva forma de acceder a los datos debe ser informada y analizada antes de su
utilizacin.

Plan de Convenciones
y Estndares de Codificacin

V1.0 03-03-2006

Pgina 13 de

Potrebbero piacerti anche