taller de refactorización (campus party quito 2014)

15
Campus Party 2014 TALLER DE REFACTORIZACIÓN Carla Suárez @carlast22 María Gómez @mariascandella

Upload: maria-gomez

Post on 20-Jul-2015

110 views

Category:

Technology


3 download

TRANSCRIPT

C a m p u s P a r t y 2 0 1 4

TALLER DE REFACTORIZACIÓN Carla Suárez @carlast22

María Gómez @mariascandella !

REFACTORIZACIÓN

!

▫︎ Técnica de cambio de código.

▫︎ Se altera la estructura interna del módulo pero no su comportamiento externo

▫︎ Se usa para limpiar el código y mejorar su estructura

2

HABILIDADES PARA DESARROLLAR

▫︎Uso de buenas prácticas (principio SOLID)

▫︎ Trabajar de forma incremental

▫︎ TDD (desarrollo guiado por pruebas)

▫︎Buen diseño de casos de pruebas

▫︎ Programación en parejas 3

SOLID

▫︎ Single Responsibility Principle

▫︎Open/Closed Principle

▫︎ Liskov Substitution Principle

▫︎ Interface Segregation Principle

▫︎Dependency Inversion Principle

4

SOLID

▫︎ Single Responsibility Principle

5

“Un módulo debe tener una sola razón para cambiar”

SOLID

▫︎Open/Closed Principle

6

“Módulos deben estar abiertos a extensiones pero cerrados a modificaciones”

SOLID

▫︎ Liskov Substitution Principle

7

“Cada clase que hereda de otra puede usarse como su padre sin necesidad de conocer las diferencias entre ellas. ”

SOLID

▫︎ Interface Segregation Principle

8

“Ningún cliente debería ser forzado a depender de métodos que no usa”

SOLID

▫︎Dependency Inversion Principle

9

“Módulos deben depender basándose en abstracciones no en objetos concretos”

TRABAJAR DE FORMA INCREMENTAL

10

InitialPlanning

Planning

Requirements Analysis  &  Design

Implementation

Deployment

TestingEvaluation

http://en.wikipedia.org/wiki/Iterative_and_incremental_development

PRUEBAS UNITARIAS

▫︎Una forma de comprobar el correcto funcionamiento de un módulo de código.

▫︎Aseguran que el módulo funciona correctamente de manera independiente.

11

EJEMPLO PRUEBA UNITARIA

12

TDD (DESARROLLO GUIADO POR PRUEBAS)

13

RED

GREENREFACTOR

PROGRAMACIÓN EN PAREJAS

▫︎Dos programadores trabajando en la misma computadora con el mismo código

▫︎Beneficios:

▫︎Mayor calidad

▫︎Mayor productividad

▫︎Menos riesgo de errores

▫︎Modelo ping-pong

14

VAMOS A DESARROLLAR!

▫︎ http://tinyurl.com/cpq4TW

15