Dry
Upcoming SlideShare
Loading in...5
×
 

Dry

on

  • 554 views

Programador pragmático. DRY.

Programador pragmático. DRY.

Statistics

Views

Total Views
554
Views on SlideShare
528
Embed Views
26

Actions

Likes
0
Downloads
8
Comments
0

1 Embed 26

https://moodle.lab.dit.upm.es 26

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Dry Dry Presentation Transcript

  • Análisis y Diseño de SoftwarePensamiento de la semana-Programador PragmáticoDRY –No te repitas(Don’t Repeat Yourself) Departamento de Ingeniería de Sistemas Telemáticos http://moodle.dit.upm.es
  • DRY No te Repitas ●No escribas dos veces lo mismo ●Tendrás que revisar todo el código para cambiarlo ●yprobablemente te olvides de cambiarlo en algún sitio ●Busca si tu código tiene fragmentos repetidos y quítalos (refactoriza) Programador Pragmático - DRY - No te repitas 2
  • Razones de la repetición●Duplicación impuesta. El entorno parece imponer la duplicación●Duplicacióndesapercibida. No te das cuenta de que estás duplicando.●Duplicación por impaciencia. Duplicar es más rápido... (cortar y pegar)●Duplicación entre desarrolladores. Trabajando en grupo se duplica código entre diferentes equipos Programador Pragmático - DRY - No te repitas 3
  • Duplicación impuesta● Misma información en diferentes formatos● Comentarios del código iguales al código● Si cambio el código, cambio el comentario● Usa comentarios de alto nivel● No leas el código, para eso lo mejor es un código bien comentado Programador Pragmático - DRY - No te repitas 4
  • Duplicación inadvertidapublic class Línea{ public Punto comienzo; public Punto fin; public double longitud;} Programador Pragmático - DRY - No te repitas 5
  • Duplicación inadvertidapublic class Línea{ public Punto comienzo; public Punto fin; public double longitud() { return comienzo.distanciaA(fin);};} Programador Pragmático - DRY - No te repitas 6
  • Duplicación inadvertidapublic class Línea{ private Punto comienzo; private Punto fin; private double longitud; // duplicado pero por prestaciones private cambiado = true; // cálculo vago private setComienzo(Punto p){ comienzo = p; De momento cambiado = true; } ¡¡NO TE public double getLongitud() { if (cambiado) { PREOCUPES DE longitud = comienzo.distanciaA(fin); LAS EFICIENCIA!! cambiado = false; } return longitud; }} Programador Pragmático - DRY - No te repitas 7
  • DRY●Intenta que si algo cambia, sólo tengas que cambiarlo en un sitio●Busca patrones visuales de comprobaciones, estructuras... que se repiten y ¡quítalos! – Métodos booleanos – Métodos auxiliares – Mira si la estructura del programa es correcta – Uso de un valor dos veces  constante Programador Pragmático - DRY - No te repitas 8