Level up your skills

Preview:

DESCRIPTION

Programar es difícil, y hacer buen código todavía más. Por suerte para nosotros, gente como Robert C. Martin, Bertrand Meyer, Barbara Liskov o los miembros de GoF nos han dado las herramientas como los patrones de diseño y los principios SOLID que hacen nuestra tarea más sencilla. Con su ayuda podremos pasar de hacer código que simplemente funciona, a aplicaciones robustas y mantenibles que serán fáciles de modificar y en las que será más difícil que haya bugs gracias a los tests unitarios. Subiremos un nivel (o dos) la calidad de nuestro código y veremos cómo dejamos atrás la frustración que provoca hacer código que no se entiende.

Citation preview

Pasiona Consulting

Level up your skills

BARCELONA DEVELOPERS CONFERENCE 20126 dic – 7 dic – 8 dic

www.pasiona.com(+34) 669 333 333info@pasiona.com

@pasiona BarcelonaPujades 350, 10ª planta

08019 · Barcelona

BilbaoGran Vía 19-21, 2ª planta

48008 · Bilbao

Londres1 Northumberland Avenue

London · WC2N 5BW

MadridPinar 5,

28006 · Madrid

Conocimientoadquirido a través de la realización de proyectos, formación e innovación tecnológica

Innovaciónligada a la mejora continua y basadaen las nuevas oportunidades tecnológicas

Tecnologíasoluciones a cada una de las necesidadesempresariales que se platean en cada ámbito

Valores humanosguía de lo que hacemos y pretendemosque nos enseña y nos conduce día a día

Pasiónsomos grandes entusiastas de todo aquello que creamos y vemos crecer

Experienciao la garantía de la habilidad derivada de años de vivencias y observación

Microsoftsocio 100% alineado partner 100% especializado

Desarrollocapacidad para realizar proyectos deámbito tecnológico con un fin de mejora

Especializaciónofrecemos soluciones a medida con las mejores herramientas tecnológicas

Qué es

SocialMedia

Servicios profesionales

Consultoría Proyectos

Innovación Azure

Formación

Auditoría

Servicios

@techdencias

@pasiona

#BCD12

@quiqu3@pbousan

@fernandoescolar

Agenda

Programación Orientada a Objetos

Refactoring

SOLID

[T]DD

POO

Abstración Encapsulamiento Herencia Cohesión Polimorfismo

Refactoring Código duplicado Métodos largos Clases largas Atributos temporales Código espagueti Jerarquías de herencia paralelas

5 principios básicos

Single responsibility Open-closed Liskov substitution Interface segregation Dependency inversion

Single Responsibility PrincipleUna clase debe tener una, y solo una, razón para cambiar

Single Responsibility Principle

Single Responsibility Principle

Open-Close PrincipleDebes ser capaz de extender el comportamiento

de una clase sin necesidad de modificarla

(abierto a extensión, cerrado a modificación)

Strategy Pattern

Open-Close Principle

Liskov Substitution PrincipleLas clases derivadas, deben poder ser sustituidas por

su clases base

Liskov Substitution Principle

Interface Segregation PrincipleDesgranar las interfaces lo más fino posible,

para que sean lo más específicas posible

Interface Segregation Principle

Dependency Inversion PrincipleDepender de las abstracciones no de las concreciones

Dependency Inversion Principle

Dependency Inversion Principle

Keep It Simple, StupidSimple no es lo mismo que programar poco

Don’t Repeat Yourselffor(int i = 0; i< 100; i++)

Console.WriteLine(“I’ll not repeat myself”);

You Ain’t Gonna Need It

Tenemos que ser capaces de adaptarnos

rápidamente al cambio, no preverlo

Don’t Reinvent The Wheel

Si ya existe, se adapta a nuestras necesidades,

esta probado y funciona… ¿por qué no utilizarlo?

Quique Martínez@quiqu3 Q&A

Fernando Escolar@fernandoescolar

Pablo Bouzada@pbousan

BARCELONA DEVELOPERS CONFERENCE 2012

| 6 dic – 7 dic – 8 dic

Recommended