You are on page 1of 7

21/06/2013

1
Desarrollo:
CODIFICACIN
TCNICAS DE DOCUMENTACIN Y ARCHIVO
5
Ing. MSc. CELEDONIO MENDEZ
Codificar: Definicin
Representaciones de diseo se traducen a un
lenguaje artificial (un lenguaje de programacin
convencional o un lenguaje no procedimental),
dando como resultado unas instrucciones
ejecutables en la computadora.
2
3
Y otros ms.
Lenguajes de programacin
Objetivo:
Generar un cdigo (programa) de alta calidad que
satisfaga al usuario y sea mantenible.
CODIFICACIN
Documentode
especificacin de
requerimientos
Documentode diseo
Programa
Cules son las
caractersticas de una buena
codificacin?
5
Cualidades
Documentado: Explicacin detallada de las instrucciones.
Modularidad: Permite la reutiliacin del cdigo.
Legibilidad: !acilidad de comprensin.
Portabilidad: Ejecucin en distintas plataformas.
Mantenible: "ien documentado # legible.
Confiable: $ebe ser correcto, robusto # mantenible
6
21/06/2013
2
7
Cules son las ms
importantes ! por qu"#
CONFIABILIDAD
%a necesidad de confiabilidad es obvia, como
escribir programas confiables : t&cnicas llamadas
!ault avoidance
!ault tolerance
CONFIABILIDAD: $ault avoidance
Especificacinprecisa (mejor formal).
'cultamiento de informacin # encapsulacin.
(plicacin de sucesivas revisiones del cdigo
%a adopcin de una filosof)a de calidad donde la calidad dirige
el proceso de desarrollo.
%a cuidadosa planificacin del sistema de testeo para poner al
descubierto las fallas *ue no fueron descubiertas en el
proceso de revisin # asegurar la confiabilidad del sistema.
$efinir reglas de programacin # capacitar a los
desarrolladores en su aplicacin.
9
Evitar en lo posible utiliar algunas estructuras de
programacin *ue puedan generar errores:
Evitar el excesivo manejo de direcciones de memoria,
punteros, recursin, +erencia, paralelismo, numero de
puntos flotante, paralelismo, interrupciones.
%eng. Programacin con tipeo de datos estricto.
,#pe -olor%u,rafico is (rojo, amarillo, verde).
/ostrar -olor, 0gte-olor: -olor%u,rafico.
Estado(ceite, EstadoPuerta, Estado1asolina: "oolean.
2tiliar lenguajes de programacin de alto nivel.
3ombramiento de variables debe ser significativo.
/anejo de excepciones
CONFIABILIDAD: Fault avoidance
10
0u adopcin es apropiada si se sigue desde el principio
+asta el final del pro#ecto de soft4are.
3o es pr5ctico, ni prudente, imponer un est5ndar de
codificacin una ve iniciado el trabajo.
%as t&cnicas de codificacin incorporan muc+os aspectos
del desarrollo del soft4are. En general una t&cnica de
codificacin no pretende formar un conjunto inflexible de
est5ndares de codificacin.
11
ESTANDARES DE CODIFICACION
%as t&cnicas de codificacin est5n divididas en
tres secciones:
3ombrado
$ocumentacin (-omentarios)
!ormato
12
TECNICAS DE CODIFICACION
21/06/2013
3
Es posible prograar
sin fallas?
13
%&'()C&O* )C'()L D+L D+%),,OLLO
D+L %O$'-),+
Estudios realiados en los 6ltimos aos indican *ue:
2no de cada 78 l)neas de cdigo *ue escriben los
programadores, contienen un posible bug o error
potencial.
(rreglar errores en las fases posteriores al desarrollo
implica entre 9 a 788 veces m5s en cuanto a costos #
tiempos.
14
CATEGORAS DE ERRORES
Los errores que se detectan en el cdigo de la
mayora de las aplicaciones corresponden a
cuatro categoras:
Fiabilidad
Rendimiento y escabilidad
Seguridad
Mantenibilidad
Es posible prograar
sin fallas?
16
!ase" Cultura de calidad
UN ENFOQUE DE CALIDAD
PROCESO
MTODOS
HERRAMIENTAS
Sn!esis
-digo 0imple
!ault avoidance
Entienda sin
necesidad de
comentarios
-onfiable
/antenible
18
21/06/2013
4
TECNICAS DE CODIFICACION
NO#!$ADO
*OM.,)DO
Es una de las a#udas m5s importantes para entender el
flujo lgico de una aplicacin.
2n nombre debe mas bien expresar el :;2E<.
$esde el punto de vista de la programacin, un nombre
6nico sirve solamente para diferenciar un elemento de
otro. %os nombres expresivos funcionan como a#uda para
el lector, por eso, es lgico dar nombres *ue sean f5ciles
de comprender.
20
0e refiere a procedimientos, clases, interfaces #
propiedades
El nombre de la clase # el arc+ivo fuente deben
ser iguales.
En la P'' es redundante incluir nombres de
clases en el nombre de las propiedades de clases.
21
Nombres: ESTRUCTURAS *ombres: /),&).L+%
Es recomendado *ue las variables booleanas
contengan una palabra *ue describa su estado.
Para variables *ue aparecen solo en unas cuantas
lineas de cdigo, emplee un nombre descriptivo.
2tilice nombres de variables de una sola letra,
como i j para )ndices(ciclos repetitivos !'R).
22
DOC%#EN&ACION
'CO#EN&A$IO()
23
'&PO% D+ DOC(M+*')C&0*
Existen dos tipos de documentacin de soft4are:
%a documentacin e1terna, los arc+ivos de
a#uda # los documentos de diseo, se deben
mantener fuera del cdigo fuente.
%a documentacin interna2 est5 formada por
los comentarios *ue los programadores escriben
dentro del cdigo fuente durante la fase de
desarrollo.
24
21/06/2013
5
P)(')% %O.,+ COM+*'),&O%
Evite aadir comentarios al final de una l)nea de cdigo
(ntes de la implementacin, *uite todos los comentarios
temporales o innecesarios
2se frases completas cuando escriba comentarios
Evite comentarios inapropiados, como comentarios
divertidos al margen.
0epare los comentarios de sus delimitadores mediante
espacios.
0i respeta estas normas, los comentarios ser5n m5s claros #
f5ciles de localiar.
25
FO$#A&O
26
$O,M)'O
El formato +ace *ue la organiacin lgica del
cdigo sea m5s clara.
Pautas para establecer el formato:
Evite albergar m6ltiples clases en un solo
arc+ivo.
2na clase debe estar definida en orden
descendente.
27
P)(')% %O.,+ +L $O,M)'O
$ebe +aber orden en la secuencia de declaracin
de acuerdo a los modificadores de acceso.
0epare la interfa de implementacin.
(linee verticalmente las llaves de apertura # cierre
2tilice espacios antes # despu&s de los operadores.
Evite comparar variables booleanas contra false o
true
28
ADICIONA*E(
)D&C&O*)L+%
=mplemente el patrn de diseo de las
excepciones.
0i relana una excepcin omita la
referencia.
30
21/06/2013
6
+s posible programar sin fallas#
TI"OS DE ERRORES
Los errores que se detectan en el cdigo de la
mayora de las aplicaciones corresponden a
cuatro categoras:
Fiabilidad
Rendimiento y escabilidad
Seguridad
Mantenibilidad
31
FIABILIDAD
:El soft4are lo escriben +umanos, # por tanto
tiene errores<
>o+n >acobs
0on a*uellos *ue normalmente conocemos como
bug, (errores funcionales, o lo *ue es lo mismo, casos
de uso mal interpretados)
32
RENDI#IENTO $ ESCALABILIDAD
:%a escalabilidad trata sobre la construccin de
carreteras mas anc+as, no de coc+es mas r5pidos<.
0teve 04arts
%as Preguntas son las siguientes:
?0on los tiempos de respuestas adecuados@
?0e necesitan m5*uinas m5s potentes para ejecutar
la aplicacin de manera correcta@
(nte una ma#or carga, ?la aplicacin responde
adecuadamente@ es decir, ?es escalable la
aplicacin@
33
SEG%RIDAD
:%o 6nico *ue asusta m5s *ue un programador
con un destornillador o un ingeniero de +ard4are
con un programa, es un usuario con un par de
alicates # la contrasea de administrador<
Eliabet+ A4icB#
34
SEG%RIDAD
%os errores de seguridad son ocasionados por
uno o varios de los problemas siguientes:
3o validar correctamente la entradaCsalida.
3o tratar correctamente las sesiones
autenticadas.
3o considerar excepciones.
35
#ANTENIBILIDAD
:0i no merece la pena documentar tu cdigo, no
merece la pena mantenerlo<
3agler
(6n as), la mantenibilidad no +ace solo referencia al
nivel de documentacin, sino *ue tambi&n nos
indica la facilidad con la *ue, nuestra aplicacin,
pueda ser mantenible por terceros en un futuro.
36
21/06/2013
7
E&ITAR ERRORES
El primer paso, es conocer los errores *ue
podemos cometer, luego cmo evitarlos, #
por 6ltimo comprobar *ue no los +emos
cometido.
37

You might also like