1 / 30

패턴을 활용한 리팩터링

패턴을 활용한 리팩터링. 전격 ! 거인 어깨에 올라타기. Refactoring to Pattern chapter.1 and 2 < 아키텍트를 꿈꾸는 사람들 > 2008.04.18 안준석. 개 요. 패턴을 고려한 리팩터링의 필요성 에 대해 알아 본다. 이 책에서 의미하는 리팩터링의 소셜 포지션 을 알아본다. 발전적 설계를 위한 도구 로써 리팩터링을 공부한다. 순 서. 거인의 어깨 오르기 이 책을 쓴 이유는 ? 리팩터링 ?. 거인의 어깨 오르기. 패턴과 리팩터링 사이에서

acton-buck
Download Presentation

패턴을 활용한 리팩터링

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 패턴을 활용한 리팩터링 전격! 거인 어깨에 올라타기 Refactoring to Pattern chapter.1 and 2 <아키텍트를 꿈꾸는 사람들> 2008.04.18 안준석

  2. 개요 • 패턴을 고려한 리팩터링의 필요성에 대해 알아 본다. • 이 책에서 의미하는 리팩터링의소셜 포지션을 알아본다. • 발전적 설계를 위한 도구로써 리팩터링을 공부한다.

  3. 순서 • 거인의 어깨 오르기 • 이 책을 쓴 이유는? • 리팩터링?

  4. 거인의 어깨 오르기 패턴과 리팩터링 사이에서 발전적 설계

  5. 뉴턴 아저씨 한 말씀 "만일 내가 다른 사람보다 조금이라도 더 멀리 내다 볼 수 있었다고 한다면 그것은 나에게 • 거인들의 어깨가 있었기 때문이다."

  6. 패턴[GOF]과 리팩터링[F] 어깨가 너무 너무 높다….

  7. 패턴과 리팩토링이짱인가요? 잘못 쓰면 모두가 괴롭죠..

  8. 거인의 어깨 위에서 우린 … • 저수준리팩터링은충분히 구체적이지 않음 • GOF 패턴은 충분한 사용 배경 이해해야 함 냄새 구분?? 처음부터 패턴으로 설계?

  9. 거인의 어깨에 오르기! 패턴을 고려한 리팩토링!

  10. 이 책을 쓴 이유는? 탄생 비화 거창한 이유 발전적 설계

  11. 탄생 비화 지속적이고 안전하게 • 패턴과 XP 의 관계에 대한 논의 필요 • 마틴파울러의리팩토링 책에서 패턴을 고려한 것이 몇 가지 안됨 • 패턴을 언제 도입해야 하는지 모르는 사람들이 많았음 패턴을 목표로 리팩터링 하자! 문제 해결 중심으로!

  12. 거창한 이유 “발전적 설계를 하자”

  13. 문제 상황 • 패턴을 이용한 사전 설계 • 나쁜 설계를 걱정? • 나쁜 설계 상황 다 고려? • 환경에 의한 미진한 설계 • 미진한 설계를 고치겠는가?

  14. 해결책 • 안전하고 • 지속적으로 • 패턴을 고려해서 • 리팩토링한다 발전적 설계의 토대

  15. 발전적 설계란? • 훌륭한 설계로의 발전 과정이 드러나게 한다. • 설계를 발전 시켜 나가는 방법을 배우게 한다. • 패턴을 고려한 리팩터링 수련을 통해서.

  16. 리팩터링 정의 이유 메타포 결과 실천 방안 도구

  17. 리팩토링? ‘동작을 보존하는 변환’ ‘겉으로 보이는 동작을 바꾸지 않고, 이해하거나 수정하기 쉽게 소프트웨어 내부 구조를 바꾸는 것’

  18. 리팩터링++ 자동화된 테스트로 안정성이 복장되는 리팩토링

  19. 리팩터링++++ 자동화된 테스트로 지속적으로 하는 리팩토링

  20. 리팩터링을 하는 이유 • 새로운 코드를 더 쉽게 추가 • 기존 코드의 설계 개선 • 기존 코드 이해도 상승 • 덜 짜증나는 코드 결국 ‘사람’ 이 하는 일이므로!

  21. 리팩터링메타포 XP 많은 사람 도움 받기 TDD 진행 스텝범위 결국 사람이 하는 일 평소 습관

  22. 이런 리팩터링의 결과

  23. 결과 : 설계 부채 감소

  24. 결과 : 발전적 설계

  25. 실천 방안

  26. 복합리팩터링의 장점 그래서!! 이 책은 복합 리팩터링의 묶음 입니다. 발전적 설계!

  27. 도구

  28. 마무리 Reference

  29. Reference • 패턴을 활용한 리팩토링P.5~P.55 • 디자인 패턴 [GOF] • 리팩토링[F] • 애자일 프랙티스 • 구현 패턴

  30. 외우는게 아니라 꾸준히 연습해 보아요! 감사합니다. joonseok.ahn@live.co.kr 2008.04.18안준석

More Related