Search

'01.소프트웨어공학/Refactoring'에 해당되는 글 1건

  1. 2010.08.24 리팩토링의 원리

리팩토링의 원리

01.소프트웨어공학/Refactoring 2010. 8. 24. 18:55 Posted by 임똘
● 리팩토링의 정의

- 리팩토링(Refactoring)(명사) : 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화 없이 내부 구조를 변경하는 것.
- 리팩토링 하다(Refactor)(동사) : 일련의 리팩토링을 적용하여 겉으로 보이는 동작의 변화 없이 소프트웨어의 구조를 바꾸다.

- 첫째, 리팩토링의 목적은 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것이다. 겉으로 보이는 동작을 거의 또는 전혀 변경하지 않고도, 소프트웨어에서 많은 것을 고칠 수 있다. 단지 소프트웨어를 더 쉽게 이해할 수 있도록 바꾸는 것이 리팩토링이다. 이것과 대조되는 좋은 예가 성능 최적화이다. 리팩토링과 마찬가지로 성능 최적화도 보통 동작을 바꾸지 않는다. 단지 내부 구조를 바꿀 뿐이다. 그러나 그 목적이 다르다. 성능 최적화는 종종 코드를 이해하기 더 어렵게 만들지만, 필요한 성능을 얻기 위해서는 그렇게 해야 한다.
- 둘째, 리팩토링은 겉으로 보이는 소프트웨어의 기능을 변경하지 않는다는 것이다. 리팩토링 후에도 소프트웨어는 여전히 동일한 기능만을 가지고 있다. 어느 사용자도, 그것이 최종 사용자(end user)가 됐든 다른 프로그래머가 됐든, 바뀐 것에 대해 알 수 없다.

- 소프트웨어를 개발하기 위해 리팩토링을 사용할 때, 두 가지 구별된 작업(기능 추가와 리팩토링)을 위해 시간을 나누어야 한다.