You are on page 1of 16

Contenidos

# 1 - Convenciones de cdigo y estructuras de programas.3


# 2 - Estndares de programacin3
# 2.1 - Ventajas del uso de estndares..3
# 2.2 - !or"ue los estndares son usados muy poco#................................................................3
# 2.3 - $u% &erramientas usar para veri'icar estndares...(
# 3 - Convenciones generales de nomenclatura...(
# 3.1 - Eleccin de la pala)ra.(
# 3.2 - *)reviaturas y acrnimos..(
# 3.3 - +om)res espec,'icos de lenguajes..-
# ( - Estndares de programacin ms comunes.-
# (.1 - +otacin &.ngara-
# (.1.1 - /)jetos y la +otacin 0.ngara..1
# (.2 - +otacin !ascal...2
# (.3 - +otacin Camel...2
# (.( - 3pper Casing...4
# (.- - 5o6er Casing...4
# (.1 - Crear tu propio estndar4
# - - Convenciones en .+E7 'rame6or8..4
# -.1 - +om)res de espacios de nom)res......4
# -.2 - +om)res de clases9 estructuras e inter'aces..:
# -.3 - +om)res de las enumeraciones......:
# -.( - +om)res de m%todos.1;
# -.- - +om)res de propiedades..1;
# -.1 - +om)res de eventos..11
# -.2 - +om)res de parmetros...11
# 1 - Convenciones de nomenclatura de Visual <asic .+et...11
# 1.1 - !re'ijos utili=ados en una convencin de nom)res de varia)les para
Visual <asic. +et.......12
# 2 > <i)liogra',a...
13
*+E?/ @ACopB &erramienta "ue permite de'inir reglas y convenciones propias1(
7a)las
7a)la 1B nom)res de tipo espec,'icos de lenguaje para los lenguajes de programacin
ms comunes y sus &omlogos de C5C...-
7a)la 2B @ormas de indicar alcance de las varia)les en notacin &.ngara..1
7a)la 3B @ormas de indicar tipo de las varia)les en notacin &.ngara1
7a)la (B !re'ijos para o)jetos en notacin &.ngara...2
7a)la -B !re'ijos utili=ados en Visual <asic .+et...12
@iguras
@igura 1B Dnter'a= gr'ica de usuario de @ACop1(
@igura 2B Dnter'a= de usuario de l,nea de comandos de @ACop
1(
@igura 3B Eetalles de las violaciones en el assem)ly 'ile.eAe.1-
# 1 - Convenciones de cdigo y estructuras de programas
Las convenciones de cdigo son sugerencias que no se centran en la lgica de un programa, sino
en el aspecto y la estructura fsica. Si se cumplen, se facilita la lectura, la comprensin y el
mantenimiento del cdigo. Las convenciones de cdigo pueden incluir, entre otras cosas:
Formatos estandariados para etiquetar y comentar cdigo.
!nstrucciones para agregar espacios, dar formato y aplicar sangra al cdigo.
"onvenciones de nomenclatura para o#$etos, varia#les y procedimientos.
# 2 - Estndares de programacin
%n aspecto muy importante para un programador es definir el &estilo& de programacin que 'ste
utilia. (o e)iste &terminologa& o &estilo& que sea me$or que otro. La valoracin de dic*as
&terminologas& se #asa no en lo que al programador le guste, sino primordialmente en el uso
adecuado de una &terminologa& especfica. +sto se denomina &est,ndares de programacin&, que
no es mas que el usar y seguir ciertas reglas de notacin y nomenclatura durante la fase de
implementacin -codificacin. de una aplicacin.
%n #uen est,ndar de programacin generalmente considerar, los siguientes factores:
@actor mnemot%cnicoB /ara que el programador pueda recordar el nom#re de una varia#le
f,cilmente.
@actor sugestivoB /ara que otros programadores puedan leer y entender r,pidamente nuestro
cdigo.
ConsistenciaB 0iene que ver con usar las mismas convenciones de nomenclatura en todo el
programa y *acer que el te)to del cdigo sea 1legi#le2.
# 2.1 - Ventajas del uso de estndares
Los nom#res de varia#les ser,n mnemot'cnicos y sugestivos, de tal forma que se podr, o#tener
cierta informacin como su uso y finalidad f,cilmente con solo ver el nom#re de la misma.
La decisin de poner un nom#re a una varia#le o funcin ser, mec,nica y autom,tica, puesto que
seguir, las reglas definidas por el est,ndar.
/ermite el uso de *erramientas autom,ticas de verificacin de (omenclaturas.
3segura la legi#ilidad del cdigo entre distintos programadores, facilitando la depuracin del
mismo.
/rovee una gua para el encargado de mantenimiento4actualiacin del sistema, con cdigo claro
y #ien documentado.
Facilita la porta#ilidad entre plataformas y aplicaciones.
# 2.2 - !or"ue los estndares son usados muy poco#
Los est,ndares pueden ser difciles de entender o recordar
Las personas pueden no ver el #eneficio o argumentar que la aplicacin de est,ndares a5ade
tiempo innecesario a la tarea de programacin
Las personas al programar pueden preferir la creatividad y la consistencia ar#itraria
Los programadores pueden creer m,s divertido usar nom#res &#onitos& en el cdigo. "on la
premisa que 1son artistas del soft6are& pueden negarse a estar regidos por est,ndares
+l mantenimiento de una #uena norma de codificacin *ace que el tra#a$o de programacin sea
menos seguro de#ido a que el cdigo puede ser entendido por cualquier persona
# 2.3 - $u% &erramientas usar para veri'icar estndares
3lgo importante a la *ora de usar est,ndares es usar una *erramienta de verificacin de 'stos. /or lo
general estas *erramientas analian el arc*ivo de cdigo fuente y verifican que partes de 'l no
cumplen con las convenciones esta#lecidas. 3dem,s incluyen motores de verificacin de distintos
tipos de est,ndares configura#les seg7n las necesidades.
3lgunos de estas *erramientas permiten definir reglas y convenciones propias, como es el caso de
F)"op (ver anexo), un soft6are li#re de la comunidad got8ot(et, que *a sido incluido como parte
del 9isual Studio.(+0 :;;<. F)"op tiene una interfa muy amiga#le en la cual se puede elegir que
reglas ser,n verificadas y adem,s se pueden crear nuevas reglas con el !ntrospection +ngine de
F)"op.
=tra *erramienta interesante es &Standard >aster& el cual se ad*iere al editor de cdigo de 9S.(+0
y permite verificar el cdigo mientras este se escri#e.
# 3 - Convenciones generales de nomenclatura
Las convenciones generales de nomenclatura e)plican la eleccin de los nom#res m,s adecuados
para todos los identificadores en cualquier lengua$e de programacin.
# 3.1 - Eleccin de la pala)ra

Se de#en elegir nom#res f,cilmente legi#les para los identificadores. /or e$emplo, una propiedad
denominada ?oriontal3lignment es m,s legi#le en ingl's que 3lignment?oriontal.
+s preferi#le la legi#ilidad a la #revedad. +l nom#re de propiedad "anScroll?oriontally es
me$or que Scrolla#le@ -una referencia oculta al e$e @..

(o suele ser recomenda#le guiones de su#rayado, guiones ni ning7n otro car,cter no


alfanum'rico.
(o es recomenda#le la notacin *7ngara aunque muc*as veces es utiliada -especialmente en
aplicaciones Aindo6s..

Se de#era evitar la utiliacin de identificadores que est,n en conflicto con pala#ras clave de
lengua$es de programacin ampliamente utiliados.
# 3.2 - *)reviaturas y acrnimos
+n general, no se de#eran utiliar a#reviaturas ni acrnimos. +stos elementos *acen que los
nom#res sean menos legi#les. 8e igual forma, es difcil sa#er cu,ndo es seguro suponer que un
acrnimo es ampliamente reconocido.
(o conviene utiliar a#reviaturas ni contracciones como parte de nom#res de identificadores. /or
e$emplo, es me$or utiliar =nButton"licC en lugar de =nBtn"licC.
(o conviene utiliar ning7n acrnimo que no est' ampliamente aceptado y, adem,s, slo cuando
sea necesario.
# 3.3 - +om)res espec,'icos de lenguajes
Son recomenda#les nom#res con inter's sem,ntico en lugar de pala#ras clave especficas de
lengua$e. /or e$emplo, DetLengt* es me$or nom#re que Det!nt.
Se de#eran usar nom#res de tipos de "ommon Language Euntime -"LE. en lugar de nom#res
especficos de lengua$e, en los pocos casos en los que un identificador no tiene ning7n
significado sem,ntico m,s all, de su tipo. /or e$emplo, un m'todo que convierte los datos en
!nt1F se de#era denominar 7oDnt11, no 7oF&ort porque S*ort es el nom#re de tipo especfico de
lengua$e para !nt1F.
La ta#la siguiente muestra los nom#res de tipo especficos de lengua$e para los lengua$es de
programacin m,s comunes y sus *omlogos de "LE.
(om#re de
tipo "#
(om#re de tipo
9isual Basic
(om#re de
tipo GScript
(om#re de tipo
9isual "HH
(om#re de tipo
de "LE
s#yte SByte sByte c*ar SByte
#yte Byte #yte unsigned c*ar Byte
s*ort S*ort s*ort s*ort !nt1F
us*ort %!nt1F us*ort unsigned s*ort %!nt1F
int !nteger int int !ntI:
uint %!ntI: uint unsigned int %!ntI:
long Long long JJintFK !ntFK
ulong %!ntFK ulong unsigned JJintFK %!ntFK
float Single float float Single
dou#le 8ou#le dou#le dou#le 8ou#le
#ool Boolean #oolean #ool Boolean
c*ar "*ar c*ar 6c*arJt "*ar
string String string String String
o#$ect =#$ect o#$ect =#$ect =#$ect
7a)la 1B nom)res de tipo espec,'icos de lenguaje para los lenguajes de programacin ms comunes y sus &omlogos de C5C.
# ( - Estndares de programacin ms comunes
# (.1 - +otacin &.ngara
+n programacin inform,tica, la notacin *7ngara es un sistema usado normalmente para crear
los nom#res de varia#les. +sta convencin es muy utiliada en las vie$as versiones de 9isual
Basic. 0am#i'n es muy utiliada por los programadores de >icrosoft, y en particular en la
programacin del sistema operativo Aindo6s.
"onsiste en prefi$os en min7sculas que se a5aden a los nom#res de las varia#les, m'todos o
funciones y que indican caractersticas como su tipo o su ,m#ito. +l resto del nom#re indica, lo
m,s claramente posi#le, la funcin que realia la varia#le. +n esta convencin se coloca en
may7scula el primer car,cter de cada pala#ra que sigue al prefi$o.
"on la notacin ?7ngara las varia#les vienen precedidas por dos letras, la primera letra indica el
alcance de la varia#le y la segunda letra el tipo de varia#le.
+l 3lcance de la varia#le puede ser:



7a)la 2B @ormas de indicar alcance de las varia)les en notacin &.ngara
L el tipo de varia#le puede ser:
0ipo Letra
3rreglo a
"aracter c
>oneda y
Fec*a d
Fec*a y ?ora t
8o#le #
Flotante f
Lgico l
(um'rico n
=#$eto o
8esconocido u
7a)la 3B @ormas de indicar tipo de las varia)les en notacin &.ngara
8e esta forma se puede tener el mismo nom#re de una varia#le pero de distintos tipos y alcance
distinto, por e$emplo en las siguientes varia#les:
la>es 9aria#le tipo: 3rreglo -3rray., con alcance: Local
ln>es 9aria#le tipo: (um'rico, con alcance: Local
3lcance Letra
Local l
/rivada p
Dlo#al g
/ar,metro t
gc>es 9aria#le tipo: caracter, con alcance: Dlo#al
# (.1.1 - /)jetos y la +otacin 0.ngara
La (otacin ?7ngara tam#i'n se utilia en los o#$etos, pero la diferencia es que el o#$eto viene
precedido por tres letras, la cual indica el o#$eto al que se le esta *aciendo referencia.
=#$eto /refi$o =#$eto /refi$o
3ctive8oc acd La#el l#l
"*ecCBo) c*C Line lin
"om#oBo) c#o ListBo) lst
"ommandButton cmd =L+Bound"ontrol ol#
"ommandDroup cmg =L+ ole
"ontainer cnt =ptionButton opt
"ontrol ctl =ptionDroup opg
"ustom Muser-definedN /age pag
+ditBo) edt /ageFrame pgf
Form frm /ro$ect?ooC pr$
FormSet frs Separator sep
Drid grd S*ape s*p
"olumn grc Spinner spn
?eader gr* 0e)tBo) t)t
?yperLinC *pl 0imer tmr
!mage img t#r t#r
7a)la (B !re'ijos para o)jetos en notacin &.ngara
L siguiendo la misma lgica, el nom#re de un o#$eto puede ser el mismo y el prefi$o distinto e
indicar o#$etos distintos, por e$emplo:
t)t"iudad: 0e)tBo) llamado "iudad
c#o"iudad: "om#oBo) con "iudades
lst"iudad: ListBo) con "iudades
3l utiliar la notacin ?7ngara estamos utiliando una nomenclatura est,ndar que nos permite
leer m,s f,cilmente nuestro cdigo.
# (.2 - +otacin !ascal
+n este caso, los identificadores y nom#res de varia#les, m'todos y funciones est,n compuestos
por m7ltiples pala#ras $untas, iniciando cada pala#ra con letra may7scula. 3 continuacin un
e$emplo:
8oSomet*ing: +ste nom#re de m'todo esta compuesto por : pala#ras, am#as iniciando con letra
may7scula.
# (.3 - +otacin Camel
"amel-"asing es com7n en Gava. +s parecido al /ascal-"asing con la e)cepcin que la letra
inicial del identificador de#e estar en min7scula. 3 continuacin un e$emplo:
doSomet*ing: +ste nom#re de m'todo esta compuesto por : pala#ras, la primera todo en
min7sculas y la segunda iniciando con letra may7scula
# (.( - 3pper Casing
"on esta notacin todos los caracteres de cada pala#ra se escri#en en may7sculas. /ara separar
las distintas pala#ras se utilia el car,cter 1guin #a$o2 -J..3 continuacin un e$emplo:
8=JS=>+0?!(D: +ste nom#re de m'todo esta compuesto por : pala#ras, am#as en
may7scula y separadas por 1J2
# (.- - 5o6er Casing
"on esta notacin todos los caracteres de cada pala#ra se escri#en en min7sculas. /ara separar las
distintas pala#ras se utilia el car,cter 1guin #a$o2 -J..3 continuacin un e$emplo:
doJsomet*ing: +ste nom#re de m'todo esta compuesto por : pala#ras, am#as en min7scula y
separadas por 1J2
# (.1 - Crear tu propio estndar
0am#i'n cada persona puede esta#lecer su propio est,ndar de programacin, el cual puede
#asarse en los ya e)istentes, e)tenderlos o modificarlos.
# - - Convenciones en .+E7 'rame6or8
# -.1 - +om)res de espacios de nom)res
+l nom#re elegido para un espacio de nom#res de#era indicar la funcionalidad que proporcionan
los tipos incluidos en el espacio de nom#res. /or e$emplo, el espacio de nom#res
System.(et.SocCets contiene tipos que permiten a los desarrolladores utiliar socCets para
realiar comunicaciones a trav's de las redes.
+l formato general para un nom#re de espacio de nom#res es como se e)plica a continuacin:
M"ompanyN.-M/roductNOM0ec*nologyN.P.MFeatureNQP.MSu#namespaceNQ
/or e$emplo, >icrosoft.Aindo6s>o#ile.8irect@.
+s conveniente prefi$ar los nom#res de espacios de nom#res con un nom#re de compa5a para
evitar que los espacios de nom#res de distintas compa5as tengan los mismos nom#res y prefi$os.
Se recomienda usar un nom#re de producto esta#le, independiente de la versin, en el segundo
nivel de un nom#re de espacio de nom#res. 3simismo no utiliar las $erarquas de organiacin
como #ase para los nom#res usados en $erarquas de espacios de nom#res, ya que los nom#res de
grupo dentro de las corporaciones tienen tendencia a que su duracin sea limitada.
+l nom#re de los espacios de nom#res es un identificador de larga duracin que no vara. "on la
evolucin de las organiaciones, los cam#ios no de#eran *acer que quedara o#soleto el nom#re
del espacio de nom#res.
?ay que utiliar la grafa /ascal y separar los componentes del espacio de nom#res con puntos
-por e$emplo, >icrosoft.=ffice./o6er/oint.. Si *a#itualmente se utilia una grafa no tradicional,
se la de#era seguir incluso aunque no sea e)actamente igual que la grafa usual de los espacios
de nom#res.
?ay que considerar utiliar nom#res plurales para los espacios de nom#res cuando sea adecuado.
/or e$emplo, se de#era utiliar System."ollections en lugar de System."ollection. Sin em#argo,
los nom#res de marcas y acrnimos son e)cepciones a esta regla. /or e$emplo, se de#era utiliar
System.!= en ve de System.!=s.
(o es adecuado utiliar el mismo nom#re para un espacio de nom#res y un tipo incluido en ese
espacio de nom#res. /or e$emplo, no tendra que aplicar 8e#ug para un nom#re de espacio de
nom#res y proporcionar en el mismo espacio de nom#res una clase denominada 8e#ug. 3lgunos
compiladores requieren que los nom#res de dic*os tipos sean completos. 3dem,s no se tienen
que introducir nom#res de tipos gen'ricos como +lement, (ode, Log y >essage. ?ay una
pro#a#ilidad muy alta de que sur$an conflictos de nom#res de tipos en los escenarios comunes.
+n este caso se de#eran calificar los nom#res de tipos gen'ricos -Form+lement, @>L(ode
+ventLog, Soap>essage..
# -.2 - +om)res de clases9 estructuras e inter'aces
+n general, los nom#res de tipo de#eran ser sintagmas nominales, donde el nom#re es la entidad
representada por el tipo. %n sintagma es una unidad gramatical formada por uno, dos o m,s
elementos lingRsticos que e$ercen una 7nica funcin sint,ctica. /or e$emplo, Button, StacC y
File tienen nom#res que identifican la entidad representada por el tipo. Los nom#res de#eran
refle$ar escenarios de uso de la entidad.
Las instrucciones siguientes se aplican a la seleccin de nom#res de tipo:
8enominar las clases, interfaces y tipos de valor con nom#res, sintagmas nominales -sintagmas
que poseen como n7cleo un sustantivo o un pronom#re. o, en ocasiones, con sintagmas
ad$etivales -sintagmas que poseen como n7cleo un ad$etivo., utiliando la grafa /ascal.
(o utiliar prefi$os para los nom#res de clases -como la letra "..Las interfaces, que de#eran
comenar con la letra !, son la e)cepcin a esta regla.
"onsiderar finaliar los nom#res de las clases derivadas con el nom#re de la clase #ase. /or
e$emplo, los tipos del marco de tra#a$o que *eredan de Stream terminan con Stream y tipos que
*eredan de +)ception finalian con +)ception.
3segurarse de que, al definir un par clase-interfa en el que la clase es una implementacin
est,ndar de la interfa, los nom#res slo se diferencien en el prefi$o de la letra ! usado en el
nom#re de la interfa. /or e$emplo, el marco de tra#a$o proporciona la interfa !3syncEesult y la
clase 3syncEesult.
# -.3 - +om)res de las enumeraciones
(o *ay que utiliar un prefi$o en nom#res de valor de enumeracin. /or e$emplo, no utiliar un
prefi$o como 1ad2 para las enumeraciones 38=, rtf para las enumeraciones de te)to enriquecido,
etc. +sto tam#i'n implica que no se de#era incluir el nom#re de tipo de enumeracin en los
nom#res de los valores de enumeracin. +l e$emplo de cdigo siguiente e)plica la denominacin
incorrecta de los valores de una enumeracin.
+n "#:
/u#lic enum 0eams
S
0eams3lp*aT
0eamsBetaT
0eams 8eltaT
U
(o se tiene que utiliar +num como sufi$o para los tipos de enumeracin ni agregar Flags como
sufi$o para los nom#res de enumeraciones de indicadores. 3simismo se de#era usar un nom#re
singular para una enumeracin, a menos que sus valores sean campos de #its -enumeraciones de
indicadores..
# -.( - +om)res de m%todos
Se de#en proporcionar nom#res de m'todos que sean ver#os o sintagmas ver#ales -sintagmas que
poseen como n7cleo un ver#o.. (ormalmente los m'todos act7an en datos, por lo que usar un
ver#o para descri#ir la accin del m'todo facilita a los desarrolladores la comprensin de lo que
*ace el m'todo. 3l definir la accin realiada por el m'todo, *ay que tener cuidado de
seleccionar un nom#re que proporciona claridad desde el punto de vista del desarrollador. (o
conviene seleccionar un ver#o que descri#a cmo *ace el m'todo lo que *aceT en otras pala#ras,
no es 7til incluir detalles de implementacin para el nom#re del m'todo y adem,s puede resultar
confuso.
# -.- - +om)res de propiedades
La regla a seguir es asignar nom#res a las propiedades mediante un sustantivo, un sintagma
nominal o un ad$etivo. Los sintagmas nominales o los ad$etivos son adecuados para las
propiedades porque 'stas contienen datos.
(o se de#en utiliar propiedades que tengan los mismos nom#res que los m'todos Det. /or
e$emplo, es pro#lem,tico el uso de un nom#re de propiedad +mployeeEecord y la posterior
denominacin de un m'todo como Det+mployeeEecord. +n tal situacin los desarrolladores no
sa#r,n qu' miem#ro utiliar para conseguir su tarea de programacin.
Eesulta m,s claro denominar las propiedades #ooleanas con una frase afirmativa -"anSeeC en
lugar de "antSeeC.. =pcionalmente, tam#i'n se puede prefi$ar las propiedades #ooleanas con !s,
"an o ?as, pero slo donde el prefi$o aporte valor.
+n ocasiones se puede considerar la posi#ilidad de dar a una propiedad el mismo nom#re que a
su tipo. "uando se tiene una propiedad con esta#lecimiento infle)i#le de tipos como
enumeracin, el nom#re de la propiedad puede ser igual que el nom#re de la enumeracin. /or
e$emplo, dada una enumeracin denominada "ac*eLevel, una propiedad que devuelve uno de sus
valores tam#i'n se puede denominar "ac*eLevel.
# -.1 - +om)res de eventos
Los eventos tienen que denominarse con un ver#o o un sintagma ver#al y las clases de argumento
de evento con el sufi$o +vent3rgs.
+n nom#res de eventos con un concepto de antes y despu's, se de#e asignar el mismo refle$ando
el tiempo presente y pasado. /or e$emplo, un evento de cierre que se inicie antes de que se cierre
una ventana se podra llamar "losing y otro, llamado "losed, que se iniciara despu's de cerrarse
la ventana.
(o se de#en aplicar los prefi$os o sufi$os Before -antes. o 3fter -despu's. para se5alar eventos
anteriores y posteriores.
+s conveniente utiliar dos par,metros denominados sender -remitente. y e en las firmas del
controlador de eventos. +l par,metro sender de#era ser del tipo =#$ect y el par,metro e una
instancia de +vent3rgs o *eredar de ella.
# -.2 - +om)res de parmetros
+legir #uenos nom#res de par,metros puede me$orar significativamente la utilidad de una
#i#lioteca. %n #uen nom#re de par,metro de#era indicar los datos o la funcionalidad a los que
afecta el par,metro.
"omo regla general utiliar nom#res de par,metros descriptivos y aplicar a ellos la grafa tipo
"amel. +n la mayora de los escenarios, el nom#re del par,metro y su tipo de#era ser suficiente
para determinar el uso del par,metro.
Se puede considerar la posi#ilidad de utiliar nom#res #asados en el significado de un par,metro
en lugar de los nom#res #asados en el tipo del par,metro para facilitar la comprensin.
# 1 - Convenciones de nomenclatura de Visual <asic .+et
3unque se tenga total li#ertad a la *ora de colocar nom#res de varia#les, es conveniente seguir
una convencin de nom#res respecto a las varia#les.
3l poner nom#re a un elemento en una aplicacin de 9isual Basic .(+0, el primer car,cter del
nom#re de#e ser un car,cter alfa#'tico, un dgito o un su#rayado. Las siguientes sugerencias se
aplican tam#i'n a la nomenclatura:
+mpear cada pala#ra independiente de un nom#re con una letra may7scula, como en
FindLastEecord y Eedra6>yForm. +l resto del nom#re puede contener letras, n7meros y4o
caracteres su#rayados pero no se permite que *aya espacios, puntos u otros signos de puntuacin.
+l nom#re de#er, ser 7nico dentro del alcance de la varia#le y no puede ser una de las pala#ras
reservadas de 9isual Basic.
+mpear los nom#res de m'todo y de funcin con un ver#o, como en !nit(ame3rray o
"lose8ialog. Eespecto a los nom#res de clase y de propiedad, de#eran empear con un nom#re,
como en +mployee(ame o "ar3ccessory.
+mpear los nom#res de interfa con el prefi$o &!&, seguido de un nom#re o una frase nominal,
como !"omponent, o con un ad$etivo que descri#a el comportamiento de la interfa, como
!/ersista#le. (o utiliar el su#rayado, y usar lo menos posi#le las a#reviaturas, ya que pueden
causar confusiones.
+mpear los nom#res de controlador de eventos con un nom#re que descri#a el tipo de evento
seguido por el sufi$o &+vent?andler&, como en &>ouse+vent?andler&.
Si un evento tiene un concepto de &antes& o &despu's&, utiliar un prefi$o en tiempo presente o
pasado, como en &"ontrol3dd& o &"ontrol3dded&.
/ara t'rminos largos o utiliados con frecuencia, incluir a#reviaturas para mantener las
longitudes de los nom#res dentro un lmite raona#le, por e$emplo, &?0>L& en lugar de
&Lengua$e de marcado de *iperte)to&. +n general, los nom#res de varia#le con m,s de I:
caracteres son difciles de leer en una pantalla configurada para una resolucin #a$a. 3dem,s, las
a#reviaturas de#en ser co*erentes a lo largo de toda la aplicacin. Si se utilia indistinta y
aleatoriamente &?0>L& y &Lengua$e de marcado de *iperte)to& en un mismo proyecto, se
provocar, confusin.
+vitar utiliar nom#res que en un entorno interno sean iguales que otros nom#res de un entorno
e)terno. Se producir,n errores si se o#tiene acceso a la varia#le errnea. Si se produce un
conflicto entre una varia#le y la pala#ra clave del mismo nom#re, se de#e identificar la pala#ra
clave poniendo delante la #i#lioteca de tipos adecuada. /or e$emplo, si se tiene una varia#le
denominada 8ate, slo se puede utiliar la funcin intrnseca 8ate llamando a System.8ate.
# 1.1 - !re'ijos utili=ados en una convencin de nom)res de varia)les.para visual )asic . +et
!re'ijo 7ipo de varia)le
Str String
!nt !nteger
Lng Long !nteger
Sng Single -"oma flotante de precisin simple.
8#l 8ou#le -"oma flotante de precisin do#le.
8ec 8ecimal -se suele usar para datos moneda.
Bln Boolean
9ar 9ariant
Byt Byte
"ol "ollection =#$ect
"ur "urrency
8tm 8ate-0ime.
+rr +rror
=#$ =#$ect
%dt %ser defined type
7a)la -B !re'ijos utili=ados en Visual <asic .+et
# 2 - <i)liogra',a
*ttp:44msdn.microsoft.com
*ttp:44msdn:.microsoft.com
*ttp:44es.6iCipedia.org
*ttp:44666.e-innovatec*.com
*ttp:44#oards<.melodysoft.com
*ttp:44666.informatiate.net4articulos4dimeJcomoJprogramasJyJteJdireJquienJeres
*ttp:44666.mug.org.ar4/atrones43rtic/atrones
*neAo @ACop
@ACopB &erramienta "ue permite de'inir reglas y convenciones propias
F@"op es una *erramienta de an,lisis de cdigo para .(+0 desarrollada por Dot8ot(et. Lee
ensam#lados -dll o e)e. directamente para *acer el an,lisis.
+sta *erramienta definida como un analiador de #uenas pr,cticas de programacin para la
plataforma .(+0 posee una versin D%! -figura 1.
@igura 1B Dnter'a= gr'ica de usuario de @ACop
3dem,s posee una interfa de lnea de comando -f)copcmd.e)e- -Figura :..
@igura 2B Dnter'a= de usuario de l,nea de comandos de @ACop
3 trav's de reflection esta *erramienta analia y propone algunas me$oras y fixes al cdigo, para
tornarlo m,s ro#usto y seguro. +stas sugerencias van en orden de prioridad en una lista de
violaciones.
Las reglas de verificacin son determinadas a trav's del ta# Eules e)terno y son divididas en:
"=>Eules, 8esignEules, Dlo#aliationEules, (amingEules, /erformanceEules, SecurityEules
y %sageEules. +stas reglas pueden ser filtradas.
"uando F)"op e$ecuta un an,lisis -3nalye "*ecCed 3ssem#lies., se e)*i#en las violaciones y
las reglas en que 'stas enca$an. +stas reglas se encuentran en el ta# Eules interno. +n la figura I,
se muestra una lista de las violaciones del assembly producido. +s de notar que se muestra la
prioridad o &gravedad& de la violacin, donde el menor valor es el m,s graveT la violacin y el
lugar -tipo o miem#ro. ocurrida.
@igura 3B Eetalles de las violaciones en el assem)ly 'ile.eAe

You might also like