BooK Plus2008. 1. 9. 12:54
출처 : 리팩토링 ( 저자 : 마틴 파울러  / 윤성준 . 조재박 옮김)


---------------------------------------------------------------------------------------------------
리팩토링이란 무엇인가 ?

 리팩토링은 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로,
소프트웨어 시스템을 변경하는 프로세스이다. 이것은 버그가 끼어 들 가능성을 최소화하면서 코드를 정리 하는
정형화된 방법이다 . 본질적으로 우리가 리팩토링을 할 떄, 우리는 코드가 작성된 후에 코드의 디자인을 개선하는것이다.

"코드가 작성된 후에 디자인을 개선한다." 이상한 말이다. 현재 우리가 알고 있는 소프트웨어 개발에서
우리는 디자인을 한 다음 코딩을 하는 것이라고 믿고 있다. 좋은 디자인이 먼저이고, 그다음이 코딩이다.
그러나 시간이 지나면 코드는 수정될 것이고, 시스템 본래의 모습과 디자인을 따른 구조는 점점 사라질것이다. 코드는 천천히 엔지니어링에서 해킹 수준으로 떨어질 것이다.

리팩토링은 이런 관례와 반대이다. 리팩토링을 쓰면 서투른 디자인을 취해 재작업하여 잘 디자인된 코드로
만들수 있다. 각각의 단계는 아주 간단하다. 필드 하나를 다른 클래스로 옮기고, 메소드에서 코드의 한 부분을
따로 다른 메소드로 뽑아내고, 코드의 일부를 수퍼클래스나 서브클래스로 옮긴다. 그러나 이런 작은 변화가 쌓여서 근복적으로 디자인을 개선하게 된다.
보통의 소프트웨어 쇠퇴 개념과는 정확하게 반대이다.

리팩토링을 사용하면 작업의 밸런스가 바뀐다. 모든것을 미리 생각하기보다는 개발을 하면서 지속적으로 좋은
디자인을 찾는다. 시스템을 구축하면서 어떻게 디자인을 개선할지에 대해 배운다.
이런 작업은 개발이 계속되어도 프로그램의 디자인이 계속 좋은 상태로 남아있게 한다 .
---------------------------------------------------------------------------------------------------

좋은 말인것 같다...  나도 아직은 리팩토링이 가져다 주는 먼가의 이익이나 확실이 이놈을
해야 한다는 믿음은 아직 없다...
왜냐면 나는 아직... 초보 JOVO 프로그램머 이기 때문이다.
하지만...
리팩토링이 좋은거라는 느낌을 믿는다...
몇년 후에는 먼가 발전된 개발자가 되어 있었으면...
그날 까지
책과 함께 하는 포스팅을.... 계속되어야 한다....




Posted by is윤군

댓글을 달아 주세요