'리팩토링'에 해당되는 글 2건

  1. 2010.04.09 레거시 리팩토링. 그 살 떨리는 즐거움. (2)
  2. 2008.08.08 Java언어로 배우는 리팩토링 입문
앞선 포스트의 내용들은..
"짐승"님께서 댓글에 남겨주셨듯이..
최근에 진행 한 소스 리팩토링을 하면서 남겼던 포스트들이다.

검색 업무를 맡게 되면서
그리고 몇 개의 큰 프로젝트를 앞두고 중구난방으로 퍼져있고
너무 크기가 비대해진 클래스들과 로직을 정리를 해야겠다는 생각이 들었다.

코드의 크기를 줄이고 로직을 정리하는 것도 목적이고..
리팩토링을 하게 되면 내 스스로가 그 소스와 로직에 대해서
더 잘 알게 되기 때문이기도 하고...

좋은 의도와 뜻을 가지고 과감하게 실행해서
밀어붙였지만, 역시 24시간 서비스와 그 시간이 100% 돈으로 직결되는 커머스 비지니스에서
이 리팩토링 한 소스를 적용하기에는 많은 용기가 필요하다.
메서드의 정리, 로직 간소화, 클래스 크기 감소등 많은 작업을 하였다.
작업한 양이 많고, 줄어든 소스가 많기 때문에 더더욱 용기가 필요하다. -_-;

지금도 진행 중인 이 리팩토링 작업은
여전히 나를 살 떨리게 하고 있다.

UI가 바뀌거나, 기능이 바뀌는 것이라면
테스트도 좀 더 명확하겠건만..
이건 내부 로직만 변하고 겉으로 바뀌는 것은 하나도 없는지라..
더더욱 그런거 같다....

더군다나..
다른 곳에서는 안 쓰는 클래스, 메서드 같은데..? 하고 보면..
엉뚱한 곳에서 사용되고 있고...
클래스 하나가 20개가 넘는 메서드를 가지고 있는데
실제로 사용 되는 메서드는 단 한 개. 이런 클래스도 있다.

클래스를 수정하고 테스트를 할 만큼 했다라고 느낌에도 불구하고..
섣불리 이걸 반영하지 못 하겠다.. 라는 마음이 든다.

내가 모르는 어딘가에서 사이드 이펙트가 터지고 있을지도 모르기 때문에..

100% 테스트를 다 해서 문제 없이 배포하면 좋겠지만
그게 어디 말 처럼 간단한 일일까...
그래서 나는 할 만큼 했다. 라고 생각이 되면 과감하게 적용해버린다.
그리고 터지는 문제들은 확인 후 수정한다.

물론 메이저 기능들은 철저히 테스트를 해서
적용 후 터지는 사이드 이펙트는 다소 미미할 것이라고
예상하기 때문에 가능한 행동이기도 하지만...
하여간 무엇보다 용기와 실패를 두려워하지 않는 마음..
그리고, 그것을 용납해주는 조직의 분위기도 중요한 것 같다.

물론...
조직이 그걸 다 용납해주지는 않는다 -_-

시간이 돈이라니께..~

그냥 "악의는 없었어요. 용서해 주세요. 쥐 잡으려다 독을 깬 것 뿐이에요." 라고 말 할 뿐..-.-;

암튼.. 작년부터 꾸준히 진행한 리팩토링으로
상당히 많은 부분이 개선이 되었고
나 스스로도 레거시에 대한 분석을 많이 할 수 있게 되었다.

이렇게 한차례 지나고나면..
그 이후에 유지보수에 걸리는 비용과 시간이
상당히 감소한다. 그리고 그런데서 작은 보람도 느낀다.
(용식님~ 이 클래스 상당히 쓰기 편해졌어요~ 라는 말을 들을 때도 기쁘다.)

그래서 나는 오늘도 이 짓을 하고 있나보다 -_-
Posted by 용식


얼마전에 구입해서 읽은 책입니다.

Java언어로 배우는 디자인 패턴 입문을 쓴 Yuki Hiroshi님이 집필하신 책입니다.

일본책인만큼 내용이 아주 간결하고 쉽게 작성이 되어있습니다.

총 15장으로 구성이 되어있는데

아주 쉬운 내용부터 다소 복잡한 내용까지 보기쉽게 구성이 되어있습니다.

뒤쪽으로 가면 패턴도 같이 나오게 되네요.

요새 한달정도동안 패턴/튜닝 등등에 관한 책들을 읽고 공부하다보니

패턴이라는 것이 말그대로 외울 수 있어서 패턴이 아니라

객체를 이용하고 인터페이스를 도출하여 사용하게 되면서

가장 효율적인 방법을 찾으면서 나오게 되는 것이 패턴 같다는 생각이 듭니다.

외운다고 외워질게 아니라 왜 이러한 패턴이 나오게 되었는지

그 사상을 이해해야 하는...

이 책에서도 리팩토링을 거쳐서 자연스럽게 패턴의 모습을 띄게되는 예제들이 몇 개 있습니다.

"이 패턴으로 바꾸겠습니다" 가 아니라

"가장 효율적인 모습으로 바꾸겠습니다" 라고 생각해서 만들었더니 패턴의 모습인거죠


아무튼 리팩토링 입문책으로서는 꽤 좋은 책이라고 생각합니다.

Posted by 용식