doc_4bfd858678584

Anuncio
Convenciones de Código
Estándar
Versión 1.2
Convenciones de Código
Versión 1.2
Tipo de Documento: Estandar
Subtipo: No aplicable
Etapa: (60) Publicación
Lenguaje: Español
Identificador de documento:
E:\Empresa\Proyectos internos\SPI\Embrion\Entregables\Standards\Convenciones de
Codigo v.1.1.doc
Confidencial
1
Convenciones de Código
Estándar
Versión 1.2
Revisiones
Fecha
2003-08-12
2003-08-18
2003-08-22
Confidencial
Revisión
1.0
1.1
1.2
Descripción
Documento Inicial
Revisión
Revisión y corrección
Autor
A. Mirol
M. Pavlovic
A. Mirol
2
Convenciones de Código
Estándar
Versión 1.2
Tabla de Contenidos
1
2
3
Introducción ......................................................................................... 4
Objetivos .............................................................................................. 4
Marco de aplicación ............................................................................... 4
3.1 Áreas afectadas ................................................................................ 4
3.2 Vigencia .......................................................................................... 4
3.3 Distribución ..................................................................................... 4
4 Convenciones ........................................................................................ 4
4.1 Estilos de mayúsculas ....................................................................... 4
4.2 Base de datos ................................................................................ 10
4.3 Instrucciones de nomenclatura para facilitar la trazabilidad .................. 14
Confidencial
3
Convenciones de Código
Estándar
Versión 1.2
1
Introducción
El documento representa el estándar interno para convenciones de programación.
2
Objetivos
El objetivo de este documento es proporcionar la descripción de convenciones de código
para los siguentes lenguajes: VB, VB Script, Jscript, SQL
3
3.1
Marco de aplicación
Áreas afectadas
Centro de desarrollo de KT.
3.2
Vigencia
Norma emitida el:
Fecha de vigencia:
3.3
Distribución
Empresa completa.
4
4.1
Convenciones
Estilos de mayúsculas
Utilice las tres convenciones siguientes para poner en mayúsculas los identificadores.
4.1.1
Mayúsculas y minúsculas Pascal
La primera letra del identificador y la primera letra de las siguientes palabras
concatenadas están en mayúsculas. El estilo de mayúsculas y minúsculas Pascal se
puede utilizar en identificadores de tres o más caracteres. Por ejemplo:
CuentaSaldo
TransaccionNro
TransaccionLog
En el caso de las Interfaces agregue una I una Mayúscula al comienzo del nombre. Por
ejemplo:
ITransaccionLog
Confidencial
4
Convenciones de Código
Estándar
Versión 1.2
4.1.2
Mayúsculas y minúsculas Camel
La primera letra del identificador está en minúscula y la primera letra de las siguientes
palabras concatenadas en mayúscula. Se utiliza para los nombres de variables y
parámetros. Por ejemplo:
mvarCuentaSaldo
pvarTransaccionNro
Mayúsculas
Todas las letras del identificador van en mayúsculas. Utilice esta convención sólo para
identificadores que estén formados por dos o menos letras. Por ejemplo:
AccesoDB
Además, utilice mayúsculas en las constantes. En general, estos símbolos no deben ser
visibles fuera del componente en el que se utilizan. Por ejemplo:
ERR_USUARIO_INEXISTENTE
En la tabla siguiente se resumen las reglas de uso de mayúsculas y se proporcionan
ejemplos de los diferentes tipos de identificadores.
Identificador
Uso de
mayúsculas o
minúsculas
Ejemplo
Clase
Pascal
Interfaz
Pascal
Tipo Enum
Pascal
Error
Valores enum
Pascal
ErrorTecnico
Constantes
TransaccionLog
ITransaccionLog
Nota: Comienza siempre con el prefijo I
ERR_USUARIO_INEXISTENTE
Evento
Pascal
ValueChange
Método
Pascal
SetParametro
Propiedad
Pascal
Nombre
Parámetro
Camel
pvarTransaccionNro
Variable Módulo
Camel
mvarCuentaNro
Variable
Procedimiento
Camel
Confidencial
wvarCuentaNro
5
Convenciones de Código
Estándar
Versión 1.2
4.1.3
Distinción de mayúsculas y minúsculas (para lenguajes que así lo
permitan)
Para evitar confusiones y garantizar la interoperación entre lenguajes, siga estas reglas
con respecto a la distinción entre mayúsculas y minúsculas:

No utilice nombres que requieran distinción entre mayúsculas y minúsculas. Los
componentes se deben poder utilizar en los lenguajes que distinguen, y en los
que no distinguen, entre mayúsculas y minúsculas. Los lenguajes que no hacen
esta distinción no pueden diferenciar, dentro del mismo contexto, dos nombres
que difieren sólo en el uso de mayúsculas y minúsculas. Por consiguiente, se
debe evitar esta situación en los componentes o clases creados.

No debe crear una función con nombres de parámetros que difieran sólo en las
mayúsculas y minúsculas. El siguiente ejemplo es incorrecto.
void MiFuncion(string a, string A)

No debe crear un tipo con nombres de propiedades que difieran sólo en las
mayúsculas y minúsculas. En el siguiente ejemplo, int Color y int COLOR son
nombres de propiedades incorrectos ya que difieren sólo en el uso de las
mayúsculas y minúsculas.
int Color {get, set}
int COLOR {get, set}

No debe crear un tipo con nombres de métodos que difieran sólo en las
mayúsculas y minúsculas. En el siguiente ejemplo, calcular y Calcular son
nombres de métodos incorrectos ya que difieren sólo en el uso de las
mayúsculas y minúsculas.
void calcular()
void Calcular()
4.1.4
Abreviaturas
Para evitar confusiones y garantizar la interoperación entre lenguajes, siga estas reglas
con respecto a la utilización de abreviaturas:
Confidencial

No utilice abreviaturas ni contracciones como parte de
identificadores. Por ejemplo, utilice GetWindow en vez de GetWin.
nombres
de

No utilice acrónimos que no estén aceptados en el campo de la informática.

Si es necesario, utilice acrónimos conocidos para reemplazar nombres en frases
largas. Por ejemplo, utilice UI para interfaz de usuario y OLAP para
procesamiento analítico en línea.

Cuando utilice acrónimos, utilice el estilo de mayúsculas y minúsculas Pascal o
Camel en acrónimos de más de dos caracteres. Por ejemplo, use HtmlButton o
htmlButton. Sin embargo, deberá utilizar mayúsculas en acrónimos que tengan
sólo dos caracteres, por ejemplo System.IO en vez de System.Io.
6
Convenciones de Código
Estándar
Versión 1.2

4.1.5
No utilice abreviaturas en nombres de identificadores o parámetros. Si tiene que
utilizar abreviaturas, utilice las Mayúsculas y minúsculas Camel en
abreviaturas de dos o más caracteres, aunque esto contradiga la abreviatura
estándar de la palabra.
Instrucciones de nomenclatura de clases
En las reglas siguientes se describen las instrucciones de nomenclatura de clases:
4.1.6

Utilice un sustantivo o un sintagma nominal para asignar un nombre a una clase.

Utilice el estilo de Mayúsculas y minúsculas Pascal.

Utilice las abreviaturas con moderación.

No utilice un prefijo de tipo, como C para clase, en un nombre de clase. Utilice,
por ejemplo, el nombre de clase FileStream en vez de CFileStream.

No utilice el carácter de subrayado (_).

De vez en cuando, es necesario proporcionar un nombre de clase que comience
con la letra I, aunque la clase no sea una interfaz. Esto es correcto siempre que
I sea la primera letra de una palabra que forme parte del nombre de la clase.
Por ejemplo, IdentityStore es un nombre de clase correcto.
Instrucciones de nomenclatura de interfaces
En las reglas siguientes se describen las pautas de nomenclatura de interfaces:
4.1.7

Asigne nombres a interfaces utilizando sustantivos, sintagmas nominales o
adjetivos que describan su comportamiento.

Utilice el estilo de Mayúsculas y minúsculas Pascal.

Utilice las abreviaturas con moderación.

Incluya un prefijo con la letra I en los nombres de interfaces para indicar que el
tipo es una interfaz.

Utilice nombres similares cuando defina un par clase/interfaz, donde la clase es
una implementación estándar de la interfaz. Los nombres deben ser distintos
sólo en el prefijo I del nombre de la interfaz.

No utilice el carácter de subrayado (_).
Instrucciones de nomenclatura de tipos de enumeración
En las reglas siguientes
enumeraciones:
Confidencial
se
describen
las
instrucciones
de
nomenclatura
de

Utilice el estilo de Mayúsculas y minúsculas Pascal en los nombres de valores
y tipos Enum.

Utilice las abreviaturas con moderación.
7
Convenciones de Código
Estándar
Versión 1.2
4.1.8

No utilice el sufijo Enum en nombres de tipo Enum.

Utilice un nombre en singular para la mayoría de los tipos Enum.
Instrucciones de nomenclatura de métodos
En las reglas siguientes se describen las instrucciones de nomenclatura de métodos:

Utilice verbos o sintagmas verbales al asignar nombres a los métodos.

Utilice el estilo de Mayúsculas y minúsculas Pascal.

No utilice el carácter de subrayado (_). (Se exceptúa el caso de implementación
de interfaces).
A continuación, se incluyen algunos ejemplos de métodos con nombres correctos:
Ejecutar()
GetParametro()
SetParametro()
4.1.9
Instrucciones de nomenclatura de propiedades
En las reglas
propiedades:
siguientes
se
describen
las
instrucciones
de
nomenclatura
de

Utilice un sustantivo o un sintagma nominal al asignar nombres a las
propiedades.

Utilice el estilo de Mayúsculas y minúsculas Pascal.

No utilice la notación húngara.
4.1.10 Instrucciones de nomenclatura de parámetros
Es importante seguir estas instrucciones de nomenclatura de parámetros, ya que
herramientas de diseño visual que proporcionan ayuda contextual y funcionalidad
exploración de clases muestran en el diseñador los nombres de los parámetros
métodos a los usuarios. En las reglas siguientes se describen las instrucciones
nomenclatura de parámetros:
Confidencial
las
de
de
de

Utilice el estilo de Mayúsculas y minúsculas Camel para los nombres de
parámetros.

Utilice nombres de parámetros descriptivos. Los nombres de parámetros deben
ser lo suficientemente descriptivos como para que el nombre y el tipo del
parámetro se puedan utilizar para determinar su significado en la mayoría de los
escenarios y permitir a los programadores suministrar los parámetros
adecuados.

Utilice nombres que describan el significado del parámetro, en vez de nombres
que describan el tipo de parámetro.
8
Convenciones de Código
Estándar
Versión 1.2

Comience el nombre del parámetro con la letra p y a continuación las siguientes
tres letras:
obj
: si es un objeto que no es recordset.
rst
: si es un recordset.
dom : si es un objeto de la biblioteca MSXML.dll
xml
: si es un string que representa un Xml.
var
: en los demás casos.
De esta forma el parámetro quedará conformado, por ejemplo, como
pvarParametroNombre.

En el caso de parámetros que representen un objeto utilice el nombre de la clase
en conjunción a la reglas anteriores. Por ejemplo, si tenemos una clase
denominada Cuenta el parámetro que la representa se nombra como
pobjCuenta.

Los parámetros deben ir encolumnados y uno por cada fila tanto en la definición
del procedimiento como en las llamadas al mismo.
A continuación, se incluyen algunos ejemplos de parámetros con nombres
correctos:
pvarTransaccionNro
pdomInput
4.1.11 Instrucciones de nomenclatura de variables
En las reglas siguientes se describen las instrucciones de nomenclatura de variables:

Utilice el estilo de Mayúsculas y minúsculas Camel.

No utilice la notación húngara.

Comience el nombre de las variables locales a los procedimientos con la letra w
y a continuación las siguientes tres letras:
obj
: si es un objeto que no es recordset.
rst
: si es un recordset.
dom : si es un objeto de la biblioteca MSXML.dll
xml
: si es un string que representa un Xml.
var
: en los demás casos.
De esta forma la variable
wvarVariableNombre.

Confidencial
quedará
conformada,
por
ejemplo,
como
Comience el nombre de las variables de modulo con la letra m y a continuación
las siguientes tres letras:
9
Convenciones de Código
Estándar
Versión 1.2
obj
: si es un objeto que no es recordset.
rst
: si es un recordset.
dom : si es un objeto de la biblioteca MSXML.dll
xml
: si es un string que representa un Xml.
var
: en los demás casos.
De esta forma la variable
mvarVariableNombre.

quedará
conformada,
por
ejemplo,
como
Comience el nombre de las variables globales con la letra g y a continuación las
siguientes tres letras:
obj
: si es un objeto que no es recordset.
rst
: si es un recordset.
dom : si es un objeto de la biblioteca MSXML.dll
xml
: si es un string que representa un Xml.
var
: en los demás casos.
De esta forma la
gvarVariableNombre.

4.2
variable
quedará
conformada,
por
ejemplo,
como
En el caso de variable que representen un objeto utilice el nombre de la clase en
conjunción a la reglas anteriores. Por ejemplo, si tenemos una clase denominada
Cuenta la variable que la representa se nombra como gobjCuenta o
mobjCuenta o wobjCuenta dependiendo del scope de la misma.
Base de datos
4.2.1
Tablas:
En las reglas siguientes se describen las instrucciones de nomenclatura de tablas:
Confidencial

Utilice un sustantivo o un sintagma nominal para asignar un nombre a una tabla.

Utilice el estilo de Mayúsculas y minúsculas Pascal.

Utilice las abreviaturas con moderación.

No utilice un prefijo de tipo, como T para tabla, en un nombre de tabla. Utilice,
por ejemplo, el nombre de tabla Transaccion en vez de TTransacción o
T_Transaccion.

No utilice el carácter de subrayado (_).

Utilice un nombre en singular para el nombre de Tablas.

Coloque el nombre de la entidad principal en primer término. Utilice, por
ejemplo, el nombre de tabla FacturaEncabezado y FacturaItem en lugar de
EncabezadoFactura e ItemFactura.
10
Convenciones de Código
Estándar
Versión 1.2

Para el caso de tablas de relación que no posean un nombre que las identifique
propiamente en el dominio utilice la siguiente regla:
Coloque el nombre de la entidad mas representativa en primer término y en la
estructura de la tabla respete ese orden al colocar las claves primarias de las
tablas relacionadas.
A continuación, se incluyen algunos ejemplos de tablas con nombres correctos:
Cuenta
CuentaSaldo
Persona
Producto
PersonaProducto
PersonaProductoTipoCod
4.2.2
Instrucciones de nomenclatura de columnas de tablas
En las reglas siguientes se describen las instrucciones de nomenclatura de columnas de
tablas:

Utilice un sustantivo o un sintagma nominal para asignar un nombre a una
columna.

Utilice el estilo de Mayúsculas y minúsculas Pascal.

Utilice las abreviaturas con moderación.

No utilice el carácter de subrayado (_).

Siempre que sea posible utilice un nombre en singular para el nombre de
Columnas.

Utilice el mismo nombre de columna en todas las tablas para items con igual
significado semántico.

En el caso que un ítem se repita más de una vez, utilice el nombre del ítem más
un sufijo que lo diferencie. Por ejemplo: En una tabla tabla se registra el nombre
del usuario que creó el registro y el usuario que realizó la última modificacion.
Pondremos UsuarioCodC y UsuarioCodM.

Coloque el nombre más significativo en primer término. Utilice, por ejemplo, el
nombre de columa FacturaNro en lugar de NroFactura.

Se definen los siguiente sufijos standard de amplía utilización:
Nom: se utiliza como abreviatura de nombre. Por ejemplo: ClienteNom,
DocumentoNom.
Ape: se utiliza como abreviatura de apellido. Por ejemplo: ClienteApe,
PersonaApe.
Confidencial
11
Convenciones de Código
Estándar
Versión 1.2
Nro : se utiliza como abreviatura de Número. No necesariamente debe ser de
tipo numérico, denota una infinidad numerable. Por ejemplo: CuentaNro,
ClienteNro.
Cod: se utiliza como abreviatura de Código. Se aplica a diverso tipo de
tipificaciones. Por ejemplo: TransaccionCod, SaldoTipoCod.
Des: se utiliza como abreviatura
TransaccionDes, SaldoTipoDes.
de
Descripción.
Por
ejemplo:
Fec : se utiliza como abreviatura de Fecha. Por ejemplo: NacimientoFec,
MovimientoFec.
Can: se utiliza como abreviatura de Cantidad. Por ejemplo: MovimientoCan.
4.2.3
Instrucciones de nomenclatura de stored procedures
En las reglas siguientes se describen las instrucciones de nomenclatura de stored
procedures:

Utilice un sustantivo o un sintagma nominal para asignar un nombre a una
stored procedure en conjunción con los prefijos enumerados más abajo.

Utilice el estilo de Mayúsculas y minúsculas Pascal.

Utilice las abreviaturas con moderación.

Debido a que los stored procedures en general solo deben realizar tareas
elementales(salvo que por razones de performance se determine lo contrario),
se definen los siguiente prefijos standard:
INS_: stored procedure que realiza insert.
UPD_: stored procedure que realiza update.
ACT_: stored procedure que realiza una actualización, entendiéndose por
actualización, en general, un update en caso de existir la fila o un insert si
esta no existe.
DEL_: stored procedure que realiza delete.
Confidencial

No utilice el carácter de subrayado (_) con la excepción descripta en el punto
anterior.

Utilice un nombre en singular para el nombre de stored procedures.

Coloque el nombre de la entidad principal en primer término. De existir varios
stored procedures que actuan sobre la misma entidad(por ejemplo: sp que
devuelven distintas columnas de una tabla) utilice el mismo nombre con el
agregado de un número correlativo.
12
Convenciones de Código
Estándar
Versión 1.2
4.2.4
Instrucciones de nomenclatura de parámetros para stored procedures
En las reglas siguientes se describen las instrucciones de nomenclatura de parámetros:

Utilice el estilo de Mayúsculas y minúsculas Camel para los nombres de
parámetros.

Utilice nombres de parámetros descriptivos. Los nombres de parámetros deben
ser lo suficientemente descriptivos como para que el nombre y el tipo del
parámetro se puedan utilizar para determinar su significado en la mayoría de los
escenarios y permitir a los programadores suministrar los parámetros
adecuados. En caso de coincidir con una columna utilice el nombre de ésta.

Utilice nombres que describan el significado del parámetro, en vez de nombres
que describan el tipo de parámetro.

Comience el nombre del parámetro con la letra @p. (El arroba es obligatorio en
SQLServer). De esta forma el parámetro quedará conformado, por ejemplo,
como @pParametroNombre.
A continuación, se incluyen algunos ejemplos de parámetros con nombres
correctos:
@pTransaccionNro
@pCuentaNro
4.2.5
Instrucciones de nomenclatura de variables para stored procedures
En las reglas siguientes se describen las instrucciones de nomenclatura de variables:

Utilice el estilo de Mayúsculas y minúsculas Camel para los nombres de
parámetros.

Utilice nombres de parámetros descriptivos. Los nombres de parámetros deben
ser lo suficientemente descriptivos como para que el nombre y el tipo del
parámetro se puedan utilizar para determinar su significado en la mayoría de los
escenarios y permitir a los programadores suministrar los parámetros
adecuados.

Utilice nombres que describan el significado de la variable, en vez de nombres
que describan el tipo de parámetro. En caso de coincidir con una columna utilice
el nombre de ésta. Si se requiere el uso de más de una variable numérela
correlativamente.

Comience el nombre del parámetro con la letra @w. (El arroba es obligatorio en
SQLServer). De esta forma el parámetro quedará conformado, por ejemplo,
como @wParametroNombre.
A continuación, se incluyen algunos ejemplos de variables con nombres
correctos:
@wTransaccionNro
@wCuentaNro
Confidencial
13
Convenciones de Código
Estándar
Versión 1.2
@wCuentaNro1
4.3
Instrucciones de nomenclatura para facilitar la trazabilidad
A efectos de facilitar la trazabilidad a través de las capas de la aplicación es importante que
se mantenga el nombre de los elementos utilizados a lo largo de las mismas. Para ello se
debe usar el nombre definido en la Base de Datos
A modo de ejemplo, supongamos que en una Tabla Cuenta se define un campo CuentaNro.
El mismo tomará los siguientes nombres de variable:

En los stored procedures @pCuentaNro sí es un parámetro y @wCuentaNro sí es una
variable.

En los componentes gvarCuentaNro sí es una variable global, mvarCuentaNro si es
una variable definida a nivel módulo y wvarCuentaNro sí es una variable definida
dentro de un procedimiento.

En las páginas mvarCuentaNro sí es una variable definida a nivel de la página y
wvarCuentaNro sí es una variable definida dentro de un procedimiento.

En el caso de utilizarse Xml, el nombre del tag es <CuentaNro>.
Fin del documento
Confidencial
14
Descargar