Está en la página 1de 26

POO3501

PROGRAMACIN
ORIENTADA A OBJETOS II
(.NET)

rogramacin Orientada a Objetos.-

Unidad de Aprendizaje N1
Introduccin al Framework .NET y
Lenguaje C#

Experiencia:
Conocer buenas prcticas segn la
industria del
desarrollo de software para aplicarlo a sus
desarrollos propios

Temario
Definicin
Porqu se desarrolla mal?
Porqu debo seguir buenas
prcticas?
Principios de la buena programacin.
Buenas prcticas en cdigo.
Consejos generales.

Definicin
Por Buenas Prcticas se entiende un
conjunto
coherente de acciones que han rendido
buen o incluso
excelente servicio en un determinado
contexto y que
se espera que, en contextos similares,
rindan similares
resultados.
stas dependen de las pocas, de las modas
y hasta
(Fuente:
Wikipedia)

Porqu se desarrolla mal?

Falta de tiempo.
Falta de conocimiento.
Falta de motivacin.
Acudir a las fuentes equivocadas.
Fallos en las etapas iniciales (anlisis,
requisitos, etc.).
Ausencia de reglas y convenciones
por parte del equipo desarrollador.
Etctera.

Porqu buenas prcticas?


Se establecen reglas y convenios
claros.
Aporta limpieza al cdigo.
Estandariza el desarrollo.
Fcil lectura = Fcil mantenimiento.
Facilita la escalabilidad del cdigo
Propicia la reutilizacin y la
integracin de manera homognea.

Principios de buena programacin


Principios existen tantos como
autores que han escritos sobre ellos.
Ac se hace un resmen de aquellos
en los que la mayora coincide y que
son de sentido comn, tomando
como referencia una publicacin de
Christopher Diggins.

Principios de buena programacin


DRY: No repetirse a s mismo

Principios de buena programacin


Evitar la repeticin en todas sus
posibilidades:
No repetir cdigo: funciones, mtodos,
clases, etc. Qu sera mejor?
Reutilizar.
No repetir libreras.
No repetir documentacin.

Principios de buena programacin


Principio de Abstraccin: Cada pieza
de funcionalidad significativa en un
programa debe ser implementada en
un slo lugar del cdigo fuente

Principios de buena programacin


KISS: Mantngalo simple, estpido!.
La mejor solucin a un problema es
la mas simple.
Menos cdigo Menos bugs.

Principios de buena programacin


Evita crear YAGNI (You arent going to
need it): Evitar crear algo que no
vamos a necesitar. Es comn tratar
de ver el futuro y comenzar a crear
abstracciones que todava no
estamos usando.

Principios de buena programacin


Se pierde tiempo al aadir, probar y
documentar la funcionalidad no
necesaria.
Si la nueva caracterstica no est
bien definida, puede que no funcione
correctamente, aunque con el tiempo
sea necesaria.
El software se hace ms grande y
ms complicado innecesariamente.

Principios de buena programacin


No me haga pensar: Evitar la
pregunta y ahora, cmo lo hago?
Los nombres de las funciones,
variables, etc. deben declarar
claramente lo que hacen.

Principios de buena programacin


public void Im prim e(string a, D ateTim e b,List< Array> c)
{
//.......
}

public void Im prim eListaFiesta(string anfi


trion,
D ateTim e fechaEvento,
List< Array> invitados)
{
//.......
}

Relacionado tambin con el


principio de Menor Asombro:
Hacer lo que dice el nombre

Principios de buena programacin


int j= 100;
for (int i= 0; i< j; i+ + )
{
j--;
Console.W riteLine(i);
}

Comentar el
cdigo tambin es
programar, pero
se debe comentar
con criterio.

//Im prim e los nm eros hasta 49


int j= 100;
for (int i= 0; i< j; i+ + )
{
j--;
Console.W riteLine(i);
}

Principios de buena programacin


Principio Abierto/Cerrado: Clases,
mdulos, funciones, etc. deben estar
abiertas a la extensin. Escribir
clases, no para que otros las
modifiquen, sino para que se usen y
extiendan.

Principios de buena programacin


Beneficios del principio
Abierto/Cerrado:
Robustez No se modifican las clases
ya probadas.
Flexibilidad Se facilita la
implementacin de nuevos requisitos o
cambios en ellos.
Facilita las pruebas menos propenso a

Principios de buena programacin


Principio de responsabilidad nica:
Un componente de cdigo debe
ejecutar una nica y bien definida
tarea.

Principios de buena programacin


Minimizar el acoplamiento: Cada
componente (bloque de cdigo,
clase, funcin, etc.) debe minimizar
las dependencias de otros
componentes.

Principios de buena programacin


Maximizar cohesin: Evitar
implementar en un componente dos
funcionalidades que no estn
relacionadas, cumpliendo tareas que
no tienen relacin.

Principios de buena programacin


Ocultar detalles de implementacin. Usar
Interfaces, usar correctamente
modificadores de acceso: public, private y
protected.

Evitar la optimizacin prematura. Evitar


pensar optimizar cdigo, si apenas lo
estamos armando. Ir armando el cdigo de
tal forma que podamos refactorizarlo.

Principios de buena programacin


Abraza el cambio: El cambio es
inevitable en el desarrollo de
software. No hay que luchar contra el
cambio, sino trabajar para estar
preparado para l Programacin
gil, integracin continua, Scrum,
etc.

Principios de buena programacin


Convencin de cdigo
Alto % del coste del software
mantenimiento.
Casi ningn software se mantiene durante
toda su vida por el autor original.
Mejora la legibilidad del software,
permitiendo a los desarrolladores entender el
nuevo cdigo con mayor rapidez y en
profundidad.
Cdigo fuente es igual que cualquier otro
producto asegurarse de que est tan bien
empaquetado y limpio como cualquier otro
producto.

Principios de buena programacin


Y finalmenteEscriba cdigo
pensando en el que va a mantenerlo:
Escriba el cdigo como si el que
tuviera que mantenerlo fuera un
psicpata asesino que conoce donde
vives.

Consejo
Comparte conocimiento: Trabaja en
equipo, Wiki, blogs, reuniones,
charlas, etc.

También podría gustarte