Академический Документы
Профессиональный Документы
Культура Документы
003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
Estándar de Desarrollo de
Software .NET - Centria
Agosto 2016
Estándar De ProgramaciónPágina 1 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
Contenido
1. Información General.................................................................................................................................... 3
1.1. Objeto del documento.............................................................................................................................. 3
1.2. Generalidades: ......................................................................................................................................... 3
1.3. Pautas generales ...................................................................................................................................... 3
2. Estándares de nombres ............................................................................................................................... 3
3. Sangría y comentarios ................................................................................................................................. 5
4. Programación .............................................................................................................................................. 5
5. Control de Excepciones ............................................................................................................................... 6
6. Arquitectura ................................................................................................................................................ 6
6.1. Capa de Acceso a Datos: ........................................................................................................................... 6
6.2. Capa de Lógica de Negocio: ...................................................................................................................... 6
6.3. Capa de Presentación ............................................................................................................................... 7
7. Seguridad .................................................................................................................................................... 7
8. Integración con otros programas ................................................................................................................. 7
9. Conclusiones Generales ............................................................................................................................... 8
Estándar De ProgramaciónPágina 2 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
1. Información General
El presente documento tiene como propósito indicar el estándar que todo desarrollo de software en .Net
debe cumplir para las aplicaciones de Centria. De esta manera, se garantiza que todas las aplicaciones .NET
sean consistentes, uniformes y de fácil entendimiento para revisiones y futuros mantenimientos.
1.2. Generalidades:
El lenguaje usado para los desarrollos en .Net es el C#, con framework 3.5 en adelante. Como base de datos
se trabaja con Sql Server 2008 en adelante.
El navegador por defecto usado en Centria es el IE versión 10 en adelante, aunque varios usuarios cuentan
también con Chrome, razón por la cual todo desarrollo web debe considerar estos 2 escenarios.
Se debe hacer uso de interfaces (plantillas para los objetos que se usarán en la solución). Estas pueden
estar definidas en un solo archivo.
Usar un único archivo para la definición de estructuras, enumeración y/o constantes.
Nunca escribir código en duro. Toda solución debe ser configurable obteniendo los valores desde
archivos de configuración o tablas parámetro en la base de datos.
2. Estándares de nombres
Notación Pascal: el primer carácter de todas las palabras se escribe en mayúscula y el resto en minúscula.
Ejemplo: ColorDeTitulo.
Notación Camell: el primer carácter de todas las palabras, excepto la primera palabra se escribe en mayúscula
y el resto en minúscula. Ejemplo: colorDeTitulo.
int totalVenta = 0;
Estándar De ProgramaciónPágina 3 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
Para los parámetros de los métodos se usará el prefijo “p” con notación Camell.
ListarCliente()
AgregaCliente()
Control Prefijo
Label lbl
Textbox txt
GridView grv
Button btn
Imagebutton Imb
Hyperlink Hpl
DropDownList Ddl
ListBox Lst
Checkbox chk
CheckboxList cbl
Image Img
Panel Pan
Radiobutton rdb
Estándar De ProgramaciónPágina 4 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
3. Sangría y comentarios
Las llaves ({}) deben estar al mismo nivel del código fuera de las llaves.
if ( ... )
{
//código
//...
}
Siempre utilizar las llaves ({}) en una sentencia condicional, aunque esta sea de una sola línea.
Declarar cada variable en una nueva línea, no en la misma sentencia.
Usar #region para agrupar porciones de código.
Los comentarios no deben ser extensos: un comentario largo hace que se pierda el seguimiento del código.
Escribir comentarios significativos sobre el propósito del código de una clase, método o bloque de código.
Por cada método o clase definida pero aún no implementada se debe comentar con el texto // No
implementado
4. Programación
Usar los tipos de datos especificados por c#, en lugar de los tipos de datos definidos en el espacio System.
Usar String.IsNullOrEmpty para evaluar si una variable del tipo cadena es nula o vacía.
if (String.IsNullOrEmpty(apellido))
Sólo cuando el evento de un control es invocado desde otro método o acción de otro objeto. Entonces se
debe crear un nuevo método que será usado por ambos controles u objetos.
Usar la clase StringBuilder para concatenar cadenas y los métodos Append() y AppendFormat() para un uso
más eficiente de la memoria.
Estándar De ProgramaciónPágina 5 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
5. Control de Excepciones
Todo error de la solución debe ser controlado por medio de las sentencias:
try
{
//...
}
catch (Exception ex)
{
//...
}
finally
{
//...
}
6. Arquitectura
Usar una arquitectura multicapa. Las capas mínimas que debería tener toda solución son:
No usar ORM.
Toda interacción a la base de datos será por medio de procedimientos almacenados.
No usar DataSets, en su lugar usar listas genéricas que hagan referencia a clases del tipo Entidades.
Usar el espacio de acceso a datos System.Data.Common
Usar la clase DbProviderFactories, DbConnection y DbCommand.
Los procedimientos almacenados no deben recibir parámetros del tipo XML.
El manejo de transacciones se realiza por medio del lenguaje .NET, los procedimientos almacenados no
deben incluir dichas sentencias.
Estándar De ProgramaciónPágina 6 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
MVC de preferencia SPA y con razor como motor de programación en la vista; o webform pero evitando el
mayor uso posible de Postback y usando viewstate en lugar se sesiones.
Se debe usar HTML5, bootstrap, jquery, css.
No se usan alert() de javascript para mostrar mensajes.
Todo aspecto de diseño (color, tipo y tamaño de letra, etc) se debe realizar en los archivos css de la solución.
Se debe incluir el siguiente tag en las MasterPage como consideración de los navegadores IE 10 en adelante:
Los nombres de las clases entidades del negocio deben ser en singular y terminar con el prefijo BE.
Las clases de entidades pueden ir en un solo archivo llamado Entities.
Los nombres de las clases lógica del negocio deben ser en singular y terminar con el prefijo BL.
Las clases de lógica del negocio van en archivos individuales por clase y el nombre de la clase coincide con
el archivo.
Los nombres de las clases de acceso a datos deben ser en singular y terminar con el prefijo DL.
Las clases de acceso a datos van en archivos individuales por clase y el nombre de la clase coincide con el
archivo.
7. Seguridad
SAP:
- Se realiza por medio de RFC, toda configuración de nombres y parámetros se realiza por tablas de la base
de datos.
- Se usan las librerías sapnco.dll y sapnco_utils.dll
SharePoint:
- Se realiza usando la librería: Microsoft.SharePoint.dll
Estándar De ProgramaciónPágina 7 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
PDF:
- Se realiza usando la librería: itextsharp.dll
9. Conclusiones Generales
El estándar de programación que se aplica a todo desarrollo de software es importante dado que define la
forma de cómo crear las aplicaciones .NET para el negocio, a fin contar con un producto independiente del
proveedor para revisiones, mantenimientos y mejoras. Por otro lado, permite aplicar buenas prácticas y
controles de seguridad en los desarrollos.
Estándar De ProgramaciónPágina 8 de 9
FORMATO Código: GPY.04.FO.003
Versión: Clasificación:
ESTANDAR DE DESARROLLO DE SOFTWARE .NET
1 -
Macroproceso: Fecha de Vigencia:
Proceso: 15/08/2016
Estándar De ProgramaciónPágina 9 de 9