You are on page 1of 12

ESTANDARES DE CODIFICACION EN C#

INVERSIONES Y TECNOLOCIA AEMSA SAC


Departamento de Desarrollo de Software
Mayo / 2011

DATOS DEL DOCUMENTO

Cdigo

MEP001v01

Documento

MEPv01_Estandares_de_Programacion_C#

Fecha

05 de enero del 2012 12:05:00 PM

Autor

Ing. Alex Luis Daz Vsquez

Versin

01

REVISIONES
Fecha

Versin Descripcin
Creacin
del
documento
05/01/2012 01
estndares para C#.

Autor
de

Alex Luis Daz Vsquez

INTRODUCCION

El Desarrollo de Software implica un proceso que debe disponer de las buenas prcticas
de programacin con la finalidad de mitigar el riesgo de reescribir en ms de una
oportunidad la lgica empleada para su fabricacin de cdigo fuente.

INDICE

OBJETIVO
ALCANCE
CONVENCIONES E IDIOMA
CONFIGURACION DEL ENTORNO
BUENAS PRACTICAS DE PROGRAMACION
VARIABLES
TIPOS DE DATOS

1.

OBJETIVO
Es definir los lineamientos generales para establecer un estndar de programacin o
codificacin, e institucionalizar buenas prcticas y recomendaciones de diseo, para
lograr mayores niveles de calidad en la fabricacin de software desarrollado por el
Departamento de Desarrollo de Software.
La utilizacin de estndares de programacin debe mostrar efectos positivos sobre:

2.

Disminucin de errores / bugs.


Mantenimiento del cdigo estructurado de acuerdo a las guas de diseo.
Mantenimiento del cdigo escrito de acuerdo a un estilo estandarizado.
Mejorar la performance de la aplicacin.

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

3.

CONVENCIONES E IDIOMA
3.1.

CONVENCIONES

Los trminos notacin Pascal y notacin de Camell son convenciones referidas en el


documento:

Notacin Pascal.- El primer carcter de todas las palabras se escribe en


mayscula y los otros caracteres en minscula.
Ejemplo: ImporteDePrestamo

Notacin Camell.- El primer carcter de todas las palabras, excepto de la primera


palabra se escribe en maysculas y los otros caracteres en minscula.
Ejemplo: tasaEfectivaAnual

3.2.

Notacin Hngara.- No se debe utilizar la notacin hngara; esta especifica el


tipo de dato de la variable como prefijo en el nombre y usa el prefijo m_ para
variables globales. En los estndares de .NET no es recomendado.
IDIOMA

El cdigo fuente de un proyecto debe ser desarrollado en el idioma nativo; considera:


Constantes, variables, mtodos, clases, packages.
Atributos, parmetros, entre otros elementos del lenguaje de programacin.
Razones por las cuales se debe programar en ingls:
La lectura del cdigo es gil ya que las keywords del lenguaje estn en ingls.
Es fcil compartir cdigo con programadores extranjeros
La jerga tcnica en ingls es precisa y expresiva, describiendo mejor un
problema.

4.

La mejor informacin tcnica se consigue en documentos, frums y web site en


ingls.

CONFIGURACION DEL ENTORNO


4.1.

SANGRIA
El sangrado se utiliza para mostrar la estructura lgica del cdigo. El sangrado
ptimo est formado por cuatro espacios.
Use TAB para la sangra. No uses ESPACIOS.

4.2.

ESPACIOS EN BLANCO
Los espacios en blanco sirven para facilitar la lectura de elementos que forma
una expresin. Se utilizan en los siguientes casos:

Las variables y los operadores de una expresin deben ser separados por
elemento en blanco.
Ejemplo: Espaciado de operadores
ImporteTotal = ImporteNeto * Igv;

La lista de definicin de variables y la lista de parmetros de una funcin se


deben separar por un espacio en blanco.
Ejemplo: Lista de parmetros
BusquedaTarjetaCredito ( pNumerotarjeta, pImporte );

4.3.

LINEAS EN BLANCO
Se utilizan para separar prrafos o secciones de cdigo.

5.

Las secciones que forman un programa se separan con al menos con una
lnea en blanco (declaracin de constantes, declaracin de variables, etc.).

Dentro de un subprograma se separan con una lnea en blanco los


fragmentos de instrucciones muy relacionados entre s.

BUENAS PRACTICAS DE PROGRAMACION


5.1.

CONCEPTO
Se muestra una lista de controles con los prefijos que se han definido para los
controles ms utilizados.
Formato: PrefijoNombre

5.2.

Prefijo: Abreviacin del tipo de control. La letra inicial del prefijo debe ser en
mayscula.

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


cada palabra debe ser en mayscula.

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 mayscula.

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

Nombre

Prefijo

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

5.3.

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

CONTROLES AJAX
N

Nombre

1 ScriptManager

Prefijo
SMnger

2 ScriptManagerProxy SMnPrxy

5.4.

3 Timer

Tmr

4 UpdatePanel

UpdPnl

5 UpdateProgress

UpdPrg

EXTENSORES AJAX
N

Nombre

Prefijo

1 CascadingDropDown

CDDwn

2 CollapsiblePanelExtender

CPnlExt

3 ConfirmButtonExtender

CBtnExt

4 FilteredTextBoxExtender

FTxtExt

5 ModalPopupExtender

MPopExt

6 PasswordStrength

PwdStrn

7 RoundedCornersExtender

RCnrExt

8 TextBoxWatermarkExtender TxtWExt
6.

VARIABLES
Declarar todas las variables ahora tiempo de programacin porque reduce el nmero
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 minscula.

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


palabra debe ser en mayscula.
N

Nombre

Prefijo

Ejemplo

1 Boolean

bEncontrado

2 Byte

by

byContador

3 DateTime

dt

dtFechaVenta

4 Double

dImporteVenta

5 Integer

iCantidadPersonas

6 Long

lNumeroCuenta

7 String

str

strNombreCliente

8 Char

chr

chrLetra

9 Object

oClaseFactura

10

Tipo definido
usuario

por

el

tdu

tduEmpleado