Software Development/DesignPatterns

리팩토링은 왜 해야할까?

huiyu 2015. 6. 25. 00:06

[리팩토링]
겉으로 드러나는 기능은 그대로 둔 채, 알아보기 쉽고 수정하기 간편하게 소프트웨어 내부를 수정하는 작업


[리팩토링의 목적]

- 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것이다. 

리팩토링을 수행하면 겉으로 드러나는 기능에 거의 영향을 주지 않은 채 소프트웨어의 코드를 간결하게 변경할 수 있다.


1. 소프트웨어 설계 개선

2. 소프트웨어 이해 쉬워짐(코드 간결. 가독성 향상)

3. 버그 찾기 쉬워짐

4. 프로그래밍 속도 향상


* 소프트웨어 개발에 리팩토링을 적용할 땐 기능을 추가하지말고 코드만 추가해야 한다. 
기능을 추가할 땐 코드를 수정하지 말고 기능만 추가해야 한다. 

진행 상태를 파악하려면 테스트를 추가하고 그 테스트들이 제대로 되는지 알아내면 된다. 
 =>리팩토링할 때는 코드를 추가하지 말고 코드 구조 개선만 해야한다.


[리팩토링이 필요할 때]

 1. 같은 작업을 세번 이상 반복할 때

 2. 같은 기능이 추가할 때

 3. 버그를 수정할 때

 4. 코드를 검수할 때


728x90