Está en la página 1de 13

Universidad de Talca

Facultad de Ingeniera
Campus Los Niches
Curic.

ESTANDAR DE PROGRAMACION
C#

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________

INTRODUCCIN

El uso de un estndar de programacin o codificacin estndar, es de gran relevancia, al


momento de entregar un producto de software, lo cual repercute en la calidad de ste. El uso de
un estndar de programacin permite mejorar la prctica, elusin de problemas (ambigedad) en
el cdigo, logrando un conocimiento y un seguimiento ms fcil para el equipo de desarrollo. En
este documento se da a conocer un estndar de codificacin orientado principalmente al lenguaje
de programacin C#, el cual es uno de los utilizados, por Adobe Flex, para el diseo de
aplicaciones dinmicas Web.
Este documento ser entregado a cada lder, l cual distribuir copias a los diferentes
miembros de su grupo, de manera que todos puedan codificar de manera convencional.

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________

1. Qu es Adobe Flex?
Adobe Flex es un marco de trabajo que agrupa una serie de tecnologas para dar
soporte al despliegue y desarrollo de Aplicaciones enriquecidas de internet, basadas en su
plataforma propietaria Flash.

2. Codificacin Estndar CSharp.

En ste documento se detalla un estndar para CSharp, un lenguaje bastante conocido por
el equipo de trabajo, facilitando asi el trabajo al momento de codificar y lograr buenas
practicas de programacin.

2.1 Controles.
Esta tabla muestran los prefijos que deben llevar los nombres de los elementos de
control ms usados.

Sintaxis: prefijo_Nombre
- Prefijo: abreviacin del tipo de control
- Nombre: nombre dado a un determinado control. La letra de cada palabra
debe ser mayscula.
Por ejemplo, si se usa el control Text, en el cual se ingresa nombre usuario, el
nombre del control debe ser asi:

txt_NombreUsuario
donde cada primera letra de la palabra correspondiente deber ir en mayscula.

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________
Tabla de controles.
Control

Prefijo

Alert

alt

Button

btn

ButtonBar

btb

Checkbox

chk

ColorPicker

clp

DataChooser

dtc

DataField

dtf

DataGrid

dtg

FileSystemComboBox

fsc

FileSystemDataGrid

fsd

FileSystemList

fsl

FormItemLabel

fil

HorizontalList

htl

HRule

hrl

HSlider

hsl

HSrollBar

hsb

Image

Img

Label

lbl

LinkBar

lkb

LinkButton

lbt

List

lst

Menu

mnu

MenuBar

mnb

NavBar

nvr

PopUpButton

pub

PopUpMenuButton

pmb

ProgressBar

prb

ProgressBarDirection

pbd

ProgressBarMode

pbm

RadioButton

rbt

RadioButtonGroup

rbg

RitchTextEditor

rte

Spacer

spc

TabBar

tbr

Text

txt

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________
TextArea

txa

TextInput

txi

TileList

tlt

ToolTip

tlp

Tree

tre

VRule

vrl

VScrollBar

vsb

VSlider

vsl

Controles:
Fuente:http://livedocs.adobe.com/flex/3/langref/mx/controls/packagedetail.html

2.2 Estilos de codificacin.


2.2.1 Reglas y recomendaciones en general
a) No incluir en el nombre de la variable el tipo de datos.
a. Incorrecto:
public void metodo(double doubleValue)
b. Correcto:
public void metodo(double valor)
b) Prefijo de interfaces.
a. Usar I como letra capital en el nombre de la interfaz:
Ejemplo: INombreInterface, donde NombreInterface es
el nombre de la interfaz.

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________
c) Usar nombres singulares para enumeracion, ej:
public enum Pais
{
Chile,
Argentina,
Per,
Bolivia
}
Se puede visualizar que Pais, es singular.
d) No usar letras semejantes a digitos,
Ej:
//IO, letras ele minuscula,o mayuscula.
Int lO;
If (lO == 10){}
El usar letras parecidas a dgitos, genera ambigedad en las variables.

e) Usar verbos en gerundio para eventos.


Ej:
public event ClosingEventHandler Closing;
Closing, es un evento del tipo ClosingEventHandler.

f) Cada primera letra de cada palabra del mtodo debe ser mayscula, Ej:
public int CalcularRaizCuadrada(double value){}

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________
g) Los nombres del tipo de acceso(public, private, protected), deben estar
presentes en cada mtodo(antes)y deben ser en minscula, Ej:
Incorrecto:
boolean Salir(int value){}
Correcto:
public boolean Salir(int value){}

h) Formato de comentarios.
- Usar /// para comentar en un rengln, Ej:
///comentario
- Para comentarios ms amplios, usar el siguiente formato, Ej:

/* comentario 1
* comentario 2
* comentario 3
* ...
* comentario n
*/

i)

No repetir el mismo nombre para diferentes tipos de datos, es decir.

int numero= valor;


boolean otroValor;
If(otroValor)
{
double numero=3.1416;
}

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________

j)

Comentar cada mtodo, acerca de su funcin y el valor de retorno, Ej:

///Retorna

el

largo

de

un

string,

cadena

de

caracteres.
public int LargoCadena(string cadena){}

k) Inclusin de espacios en la codificacin, Ej:


Incorrecto
int suma=0;
for(int i=0;i<100;i++){
suma+=2*i;
}
Correcto.
int suma = 0;
for( int i = 0; i < 100; i++)
{
Suma += 2 * i;
}

2.2.2 Control de flujo, Condiciones.


2.2.2.1 General
a) Actualizar variables fuera del ciclo, for.
b) Los controles de flujos convencionales (if, else,switch for,
while,do while) debe estar precedida de un bloque de cdigo,
segn lo siguiente:

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________
if(valor)
{
///bloque de cdigo
}
c) Indentacin.
Se debe indentar, segn el siguiente formato.
int valor=0,multiploTres=0;
While(valor < N)
{
if(valor % 3 == 0)
{
multiploTres++;
}
else
{
///otra cosa
}
valor++;
}
*atencin, con la ubicacin de los {}
d) No crear comparaciones explicitas para true o false
Por Ej:
bolean valor = true;
if(valor == true){}

Se puede observar que la comparacin en el if es innecesaria.

________________________________________________________________________________
Pgina

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________

Correcto:
bolean valor = true;
if(valor){}

2.2.2.2 Recomendaciones
a) No definir redundancia en ndices, Ej;

arreglo[i]=++c;

///correcto

arreglo[i]=++i;

///incorrecto, usar

arreglo[++i]
j=++j + 1///incorrecto, Usar j += 2
i++; /// en lugar de i=i+1;

b) Expresin directa propia del lenguaje:

TipoDato z = x comparacion

y ? a : b

Comparacin: <,>,<=,>=,!

________________________________________________________________________________
Pgina

10

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________
Explicacin:
z tendr el valor de a, si la comparacin entre x e y es
verdadera, en caso contrario z, contendr el valor de b, Ej.:
Int x = 4;
Int y = 1;
boolean

z = x > y ? true : false

En este caso z, ser true.

c) Mejor

forma

de

inicializacin,

especialmente

para

variables

booleanas.
///situacin
boolean a;
a = (valor < 10);
///mejor codificacin, en una lnea
boolean a = (valor < 10);

2.2.3 Programacin orientada a objeto.


La idea es trabajar bajos los conceptos de orientacin a objetos, es decir:
a) Definir clases abstractas
b) Trabajar con Herencia, Polimorfismo, Encapsulamiento
c) Si es posible definir Interfaces.

2.2.4 Excepciones
Son sentencias que controlan por lo general los errores.
a) No abusar de Exception, sino usar otros tipos de excepciones mas
especificas(SqlException, IOException,
IndexOutOfRangeException), por Ej:

________________________________________________________________________________
Pgina

11

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________

try
{
}
catch(SqlException ex)
{
System.console.write(ex.Message);///mensaje
que informa sobre el error.
}
///controla excepciones de conexin con base de
datos.

b) El nombre de la variable del tipo de Excepcin, debe incluir las primeras


letras de cada palabra del tipo de Excepcion, junto a ex por ej:

ArgumentException
ArgumentNullExp
SqlException

a_ex;
an_ex;
s_ex;

Fuente:
http://www.tiobe.com/content/paperinfo/gemrcsharpcs.pdf

________________________________________________________________________________
Pgina

12

Estndar de Programacin C#
Taller Desarrollo de Software
______________________________________________________________________________

3. CONCLUSION
Se ha detallado un estndar de forma general de codificacin de CSharp, como lenguaje de
programacin incluido en Flex, con la finalidad de lograr buenas prcticas de codificacin comn
para el equipo de trabajo.

________________________________________________________________________________
Pgina

13

También podría gustarte