Refactoring to Patterns - 패턴을 활용한 리팩터링

컴퓨터가 이해하는 코드는 어느 바보나 다 짤 수 있다. 훌륭한 프로그래머는 사람이 이해할 수 있는 코드를 짠다.[F,15]

자바개발자로서 생활을 하다가 보면, 신규 솔루션이나 새로운 도메인 영역을 개발을 해야 할때도 있지만, refactring역시 중요한 업무중의 하나이다.

국내 현실에 있는 대부분의 코드들은 OOP의 개념을 잡고 만든 코드들을 만나보기 힘들고, 양질의 코드보다는 단순 스크립트 코드들이 즐비한 상태이고, 중복 코드가 곳곳에 존재를 하며, 레이어간 분리가 잘 안된 경우도 허다하다.

이 코드들을 분석을 해서 refactoring을 하는 작업은 힘들고, 고통스러운 경우가 많다.
refactoring의 고통은 해본 사람들은 코드를 아예 재작성이 낫다고 얘기할 만큼 쉬운 것이 아니다.

refactoring을 하는 이유

  • 새로운 코드를 더 쉽게 추가할 수 있도록 하기 위해
  • 기존 코드의 설계를 개선하기 위해
  • 기존 코드를 더 잘 이해하기 위해
  • 덜 짜증나는 코드로 만들기 위해

refactoring을 하다가 보면, 더 자세히 코드를 보게 되고, refactoring을 통해서 나온 코드들은 자신이 읽기에 편하다. 그래서, 나는 기존 코드를 더 잘 이해하기 위해 refactoring을 선택을 자주 한다. 모르는 상태에서 버그를 일으키는 시스템보다는 좀더 공격적으로 코드개선을 통해서 risk를 관리해 나가는 것이 일정한 시점에 이르면 더 강건한 시스템을 만들 수 있기 때문이다.

리팩토링의 진정한 가치는 아래와 같은 그림, 링크에서 처럼 어느 순간에 급격하게 증가한다.
http://www.ologist.co.kr/376



refactoring하는 기준과 목적은 무엇일까? GOF의 디자인 패턴은 어떤 목적으로 쓰여진 얘기일까? marting fowler가 쓴 refactoring은 어떤 모습을 지향하는 것일까?

많은 사람들이 기존에 코드를 유지보수가 편하게 하기 위해서 refactoring을 하다가 보면, 자신도 모르는 사이에 어떤 패턴(GOF Patterns)의 모습으로 코드를 만들어 가고 있다는 것을 깨닫게 된다.

이 책을 보면, 그들 간의 유기적인 관계(디자인 패턴과 리팩터링의 상호관계)를 알수가 있게 된다.

패턴과 리팩터링 사이에는 자연스런 관계가 있다. 패턴을 도달하고 싶은 곳이고, 리팩토링은 그곳으로 가는 방법이다.[F,107]

막연했던 카탈로그들을 그 책을 본 동등한 필자(Joshua Kerievsky)가 그가 경험하고, 실전에 써먹었던 코드들을 바탕으로 책을 써내려간다. TDD 및 XP,애자일 사상이 곳곳에 보이는 이 책은 refactoring을 하고자 하는 이에게 나침반 같은 존재가 될것 이다.

refactoring의 방향성을 찾고 싶다면.
1. GOF 디자인 패턴
2. Refactorign - martin folwer
를 반드시 봐야 한다.

그리고, 이 책으로 좀더 실전적인 감을 익히고, 시작하면 더 양질의 코드를 만들수 있지 않을까 기대가 된다.

이 책의 목적

  • 리팩토링과 패턴을 어떻게 결합하는지 이해
  • 패턴을 고려한 리팩터링으로 기존 코드의 설계를 개선
  • 코드에서 패턴을 고려한 리팩터링이 필요한 영역을 식별
  • 새로운 설계의 초기부터 패턴을 사용하는 것보다 기존 코드를 개선하기 위해 패턴을 사용하는 것이 좋은 이유를 이해

Joshua Kerievsky
- XP전문기업 Industrial Logic(http://industriallogic.com)
- 전문 소프트웨어 개발자, 코치, 강사

패턴을 활용한 리팩터링

Joshua Kerievsky / Insight (인사이트)

트랙백 보낼 주소 :: http://www.ologist.co.kr/trackback/382

  1. 디자인패턴 vs 리팩토링

    2006/10/06 18:42
    삭제
    디자인 패턴은 리팩토링이 겨냥한 과녁 중 하나다. - 마틴파울러 (Refactoring 저자)어떤 경우에는 리팩토링의 결과가 디자인 패턴이 적용된 프로그램이다. 이건 너무나 당연하다. 디자인 패턴은 그동안 수많은 전문가들이 문제를 해결하기 위해서 사용해온 검증된 기법들이므로 디자인 패턴이라는게 나오려면, 그 전문가들 조차도 문제를 해결하기 위한 코드를 작성하고 그 후에 코드리뷰를 통하여 세련되고 깔끔한 멋진 코드로 바꾸면서 리팩토링을 해야만 하는..
  2. 마틴파울러의 리팩토링관련 어록

    2006/10/10 10:31
    삭제
    출처 : 자바 프레임워크 네이버 카페 (http://cafe.naver.com/deve.cafe) 1. 새로운 기능을 추가해야 하는데 프로그램의 코드가 새로운 기능을 추가하기 쉽도록 구조화 되어 있지 않은 경우에는 먼저 리팩토링을 해서 프로그램에 기능을 추가하기 쉽게 하고, 그 다음에 기능을 추가한다. 2. 리팩토링을 시작하기 전에 견고한 테스트 셋을 가지고 있는지 확인하라. 이 테스트는 자제 검사여야 한다. 3. 리팩토링은 작은 ..

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. 2006/10/06 18:43
    댓글 주소 수정/삭제 댓글
    어느 유명한 문구와 비슷하게, 모든 코드를 리팩터링을 하기에도 인생은 너무나 짧으니.. 패턴을 활용하는 리팩터링은 실질적으로 큰 도움이 될 것 같네요. 이책도 좋은 내용일 것 같아요. 사두기만 하고 못읽은 책들도 많고 읽고 싶은 책들도 너무 많은데... 언제 다읽을 수 있을런지... ^^;
  2. 2008/05/23 04:47
    댓글 주소 수정/삭제 댓글
    걸출한 뉴스!! 종류 블로그!
  3. 2008/05/23 05:16
    댓글 주소 수정/삭제 댓글
    좋은 너를 위치! 감사하십시요.
  4. 2008/05/23 05:50
    댓글 주소 수정/삭제 댓글
    나의 너의 친구는 위치의 현재 팬이 되었다!
  5. 2008/05/24 00:19
    댓글 주소 수정/삭제 댓글
    걸출한 뉴스!! 종류 블로그!
  6. 2008/05/24 00:23
    댓글 주소 수정/삭제 댓글
    우수한 디자인!!
  7. 2008/05/24 00:31
    댓글 주소 수정/삭제 댓글
    많은 감사 위치! 우수한 나는 너의.
  8. 2008/05/24 02:15
    댓글 주소 수정/삭제 댓글
    중대한 축하!경이롭 위치 위치!
  9. 이성순
    2008/11/14 18:41
    댓글 주소 수정/삭제 댓글
    부업 돈벌기
    이 부업을 하시면 반드시 돈을 벌 수 있습니다
    당신은 이 정보를 보는 순간 이미 행운아이십니다
    딱 1회 60.000원 투자하고 딱 3명 추천하여
    자동 스필오버 방식으로 1억 7천 법니다
    이 것은 사실입니다
    다만 투자금 없는 부업회사 중도에 사라지는거 장담 못합니다
    전국에 남녀노소 누구나 참여하십시오
    당신은 이 사업으로 부자가 되실 수 있습니다

    참여하기
    아래 주소를 클릭해서 홈페이지를 잘 읽어보시고 참여하십시오
    홈페이지에 있는 내용은 절대 거짓이 없습니다

    아래 주소를 클릭해도 열리지 않으면 주소를
    선택 복사해서 위에 주소 창에 붙여 넣기 하시고 엔트 치십시오

    www.don.or.kr/my7979

    www.don.or.kr/my7979

    관리자님 누를 끼쳐 정말 죄송합니다 정 마음에 없으신 정보라면 귀 사이트
    주소를 메일로 보내주시면 금후 이런 일이 없게 하겠습니다
    h1112222a@naver.com

    삭제 암호 aaas

    99
  10. 이성순
    2008/11/26 07:44
    댓글 주소 수정/삭제 댓글
    부업 돈벌기
    이 부업을 하시면 반드시 돈을 벌 수 있습니다
    당신은 이 정보를 보는 순간 이미 행운아이십니다
    딱 1회 60.000원 투자하고 딱 3명 추천하여
    자동 스필오버 방식으로 1억 7천 법니다
    이 것은 사실입니다
    다만 투자금 없는 부업회사 중도에 사라지는거 장담 못합니다
    전국에 남녀노소 누구나 참여하십시오
    당신은 이 사업으로 부자가 되실 수 있습니다

    참여하기
    아래 주소를 클릭해서 홈페이지를 잘 읽어보시고 참여하십시오
    홈페이지에 있는 내용은 절대 거짓이 없습니다

    아래 주소를 클릭해도 열리지 않으면 주소를
    선택 복사해서 위에 주소 창에 붙여 넣기 하시고 엔트 치십시오

    www.don.or.kr/my7979

    www.don.or.kr/my7979

    관리자님 누를 끼쳐 정말 죄송합니다 정 마음에 없으신 정보라면 귀 사이트
    주소를 메일로 보내주시면 금후 이런 일이 없게 하겠습니다
    h1112222a@naver.com

    삭제 암호 aaas

    99


BLOG main image
OOP and Java by ologist

공지사항

카테고리

All (649)
private!! (106)
WEB & IT (140)
Developer (400)