MEPv01 Estadares de Programacion C#

12
ESTANDARES DE CODIFICACION EN C# INVERSIONES Y TECNOLOCIA AEMSA SAC Departamento de Desarrollo de Software Mayo / 2011

description

MEP

Transcript of MEPv01 Estadares de Programacion C#

Page 1: MEPv01 Estadares de Programacion C#

ESTANDARES DE CODIFICACION EN C#

INVERSIONES Y TECNOLOCIA AEMSA SAC

Departamento de Desarrollo de Software

Mayo / 2011

Page 2: MEPv01 Estadares de Programacion C#

DATOS DEL DOCUMENTO

Código MEP001v01

Documento MEPv01_Estandares_de_Programacion_C#

Fecha 05 de enero del 2012 12:05:00 PM

Autor Ing. Alex Luis Díaz Vásquez

Versión 01

Page 3: MEPv01 Estadares de Programacion C#

REVISIONES

Fecha Versión Descripción Autor

05/01/2012 01 Creación del documento de estándares para C#.

Alex Luis Díaz Vásquez

Page 4: MEPv01 Estadares de Programacion C#

INTRODUCCION

El Desarrollo de Software implica un proceso que debe disponer de las buenas prácticas

de programación con la finalidad de mitigar el riesgo de reescribir en más de una

oportunidad la lógica empleada para su fabricación de código fuente.

Page 5: MEPv01 Estadares de Programacion C#

INDICE

OBJETIVO

ALCANCE

CONVENCIONES E IDIOMA

CONFIGURACION DEL ENTORNO

BUENAS PRACTICAS DE PROGRAMACION

VARIABLES

TIPOS DE DATOS

Page 6: MEPv01 Estadares de Programacion C#

1. OBJETIVO

Es definir los lineamientos generales para establecer un estándar de programación o

codificación, e institucionalizar buenas prácticas y recomendaciones de diseño, para

lograr mayores niveles de calidad en la fabricación de software desarrollado por el

Departamento de Desarrollo de Software.

La utilización de estándares de programación debe mostrar efectos positivos sobre:

Disminución de errores / bugs.

Mantenimiento del código estructurado de acuerdo a las guías de diseño.

Mantenimiento del código escrito de acuerdo a un estilo estandarizado.

Mejorar la performance de la aplicación.

2. ALCANCE

Este documento aplica a C# y Net Framework Common Type Systems (CTS)

3. CONVENCIONES E IDIOMA

3.1. CONVENCIONES

Los términos notación Pascal y notación de Camell son convenciones referidas en el

documento:

Notación Pascal.- El primer carácter de todas las palabras se escribe en

mayúscula y los otros caracteres en minúscula.

Ejemplo: ImporteDePrestamo

Notación Camell.- El primer carácter de todas las palabras, excepto de la primera

palabra se escribe en mayúsculas y los otros caracteres en minúscula.

Ejemplo: tasaEfectivaAnual

Notación Húngara.- No se debe utilizar la notación húngara; esta especifica el

tipo de dato de la variable como prefijo en el nombre y usa el prefijo m_ para

variables globales. En los estándares de .NET no es recomendado.

3.2. IDIOMA

El código fuente de un proyecto debe ser desarrollado en el idioma nativo; considera:

Constantes, variables, métodos, clases, packages.

Atributos, parámetros, entre otros elementos del lenguaje de programación.

Razones por las cuales se debe programar en inglés:

La lectura del código es ágil ya que las keywords del lenguaje están en inglés.

Es fácil compartir código con programadores extranjeros

La jerga técnica en inglés es precisa y expresiva, describiendo mejor un

problema.

Page 7: MEPv01 Estadares de Programacion C#

La mejor información técnica se consigue en documentos, fórums y web site en

inglés.

4. CONFIGURACION DEL ENTORNO

4.1. SANGRIA

El sangrado se utiliza para mostrar la estructura lógica del código. El sangrado

óptimo está formado por cuatro espacios.

Use TAB para la sangría. No uses ESPACIOS.

4.2. ESPACIOS EN BLANCO

Los espacios en blanco sirven para facilitar la lectura de elementos que forma

una expresión. Se utilizan en los siguientes casos:

Las variables y los operadores de una expresión deben ser separados por

elemento en blanco.

Ejemplo: Espaciado de operadores

ImporteTotal = ImporteNeto * Igv;

La lista de definición de variables y la lista de parámetros de una función se

deben separar por un espacio en blanco.

Ejemplo: Lista de parámetros

BusquedaTarjetaCredito ( pNumerotarjeta, pImporte );

4.3. LINEAS EN BLANCO

Se utilizan para separar párrafos o secciones de código.

Las secciones que forman un programa se separan con al menos con una

línea en blanco (declaración de constantes, declaración de variables, etc.).

Dentro de un subprograma se separan con una línea en blanco los

fragmentos de instrucciones muy relacionados entre sí.

5. BUENAS PRACTICAS DE PROGRAMACION

5.1. CONCEPTO

Se muestra una lista de controles con los prefijos que se han definido para los

controles más utilizados.

Formato: PrefijoNombre

Page 8: MEPv01 Estadares de Programacion C#

Prefijo: Abreviación del tipo de control. La letra inicial del prefijo debe ser en

mayúscula.

Nombre: Nombre asignado a un determinado tipo de control. La letra de

cada palabra debe ser en mayúscula.

Ejemplo: Si se usa el TextBox1, en la cual se ingresa el nombre del Cliente,

en la cual el nombre del control debe ser: TxtNombreCliente, donde cada

nombre de la palabra correspondiente debe ir en mayúscula.

5.2. CONTROLES ASP

5.2.1. CONTROLES ESTANDAR

N° Nombre Prefijo

1 AdRotator SMnger

2 BulletedList SMnPrxy

3 Button Tmr

4 Calendar UpdPnl

5 CheckBox ChkBx

6 CheckBoxList ChkBxLst

7 DropDownList DDwnLst

8 FileUpload FUplad

9 HiddenField HField

10 HyperLink HLink

11 Image Img

12 ImageButton ImgBtn

13 ImageMap ImgMap

14 Label Lbl

15 LinkButton LnkBtn

N° Nombre Prefijo

Page 9: MEPv01 Estadares de Programacion C#

1 ListBox LstBx

2 Literal Ltral

3 Localize Loclze

4 MultiView MulViw

5 Panel Pnl

6 PlaceHolder PHlder

7 RadioButton RBtn

8 RadioButtonList RBtnLst

9 Substitution Subttt

10 Table Tbl

11 TextBox Txt

12 View Viw

13 Wizard Wzrd

14 Xml Xml

15

5.2.2. CONTROL DE DATOS

N° Nombre Prefijo

1 Chart Chart

2 DataList DtaLst

3 DataPager DtaPgr

4 DetailsView DViw

5 EntityDataSource EntyDS

6 FormView FViw

Page 10: MEPv01 Estadares de Programacion C#

7 GridView GViw

8 LinqDataSource LnqDS

9 ListView LViw

10 ObjectDataSource ObjDS

11 QueryExtender QryExt

12 Repeater Rptr

13 SiteMapDataSource SMapDS

14 SqlDataSource SqlDS

15 XmlDataSource XmlDS

5.3. CONTROLES AJAX

N° Nombre Prefijo

1 ScriptManager SMnger

2 ScriptManagerProxy SMnPrxy

3 Timer Tmr

4 UpdatePanel UpdPnl

5 UpdateProgress UpdPrg

5.4. EXTENSORES AJAX

N° Nombre Prefijo

1 CascadingDropDown CDDwn

2 CollapsiblePanelExtender CPnlExt

3 ConfirmButtonExtender CBtnExt

4 FilteredTextBoxExtender FTxtExt

5 ModalPopupExtender MPopExt

Page 11: MEPv01 Estadares de Programacion C#

6 PasswordStrength PwdStrn

7 RoundedCornersExtender RCnrExt

8 TextBoxWatermarkExtender TxtWExt

6. VARIABLES

Declarar todas las variables ahora tiempo de programación porque reduce el número

de errores debido a erratas como:

aNombreUsuarioTemporal

sNombreusuarioTemporal

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.

7. TIPOS DE DATOS

Formato: Prefijo tipo de dato:Nombre

Prefijo tipo de dato: Los diferentes tipos de datos utilizados en C#. La letra inicial

del prefijo debe ser en minúscula.

Nombre: Nombre asignado a un determinado tipo de dato. La letra de cada

palabra debe ser en mayúscula.

N° Nombre Prefijo Ejemplo

1 Boolean b bEncontrado

2 Byte by byContador

3 DateTime dt dtFechaVenta

4 Double d dImporteVenta

5 Integer i iCantidadPersonas

6 Long l lNumeroCuenta

7 String str strNombreCliente

8 Char chr chrLetra

9 Object o oClaseFactura

Page 12: MEPv01 Estadares de Programacion C#

10 Tipo definido por el usuario

tdu tduEmpleado