Restructuring (EVO 2008)

Embed Size (px)

DESCRIPTION

I used this set of slides at a lecture I gave at the University of Bern.

Text of Restructuring (EVO 2008)

  • 1. Restructuring Tudor Grba www.tudorgirba.com
  • 2. fo rw g rin ar ee d gin en gin en ee se rin erv g re { { { { { { } { { } } actual development } } } { } } }
  • 3. fo rw g rin ar ee d gin en gin en ee se rin erv g re { { { { { { } { { } } restructuring } } } { } } }
  • 4. cycle ginee ring life Reen fo rw g rin ar ee d gin en gin en ee se rin erv g re { { { { { { } { { } } restructuring } } } { } } }
  • 5. { { What? { { { { } { { } } restructuring } } } { } } }
  • 6. Restructuring is often taken as a synonym of refactoring
  • 7. Refactoring is a disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior
  • 8. Refactoring is behavior-preserving transformation
  • 9. Restructuring is transforming a program to t current needs
  • 10. Why? { { What? { { { { } { { } } restructuring } } } { } } }
  • 11. Software should be habitable
  • 12. The secret to tidiness is to have a place for every thing Denker Markus
  • 13. The secret to tidiness is to nd the right place for every thing Denker Markus
  • 14. If it stinks, change it Be ck Gr andma
  • 15. How? Why? { { What? { { { { } { { } } restructuring } } } { } } }
  • 16. Take a critical look at design
  • 17. A God Class centralizes too much intelligence Class uses directly more than a few attributes of other classes ATFD > FEW Functional complexity of the class is very high AND GodClass WMC ! VERY HIGH Class cohesion is low TCC < ONE THIRD 006 ari nescu 2 L anza, M
  • 18. ModelFacade from ArgoUML
  • 19. p God Class Split u ModelFacade from ArgoUML 2 er etal 200 Demey
  • 20.