'내가 읽은 책/소프트웨어 설계 테크닉'에 해당되는 글 1건
- 2008.11.03 리팩토링
2008. 11. 3. 19:41
리팩토링
2008. 11. 3. 19:41 in 내가 읽은 책/소프트웨어 설계 테크닉
리팩토링을 안전하게 수행하는 요령
1. 리팩토링과 다른 작업을 분리한다.
프로그램에 기능을 추가하는 등의 작업을 할 때 리팩토링을 되도록 하지 않는다.
2. 리팩토링 전후에 반드시 테스트를 한다.
java용 테스팅 프레임워크 junit를 사용하는것이 적절할 수 있다.
3. 한 번에 최소한의 작업만 한다.
작은 수정을 수행하고 그때마다 테스트를 한다.
4. 기존의 로직에 미치는 영향을 적게 한다.
이미 정상적으로 동작하는 있는 기존의 코드를 가능한 한 남기고 서서히 진행한다.
5. 반드시 백업을 해 둔다.
CVS 등 버전별로 보존할 수 있는 구성관리 툴을 사용해서 백업을 한다.
메소드 추출의 순서
1. 적절한 이름의 새 메소드를 만든다.
2. 추출하고 싶은 로직을 새 메소드로 복사한다.
3. 추출된 로직 속의 로컬 변수를 새 메소드에 적합하도록 변경한다.
(메소드의 인수나 임시변수, 반환값으로 변경한다.)
4. 컴파일하여 테스트한다.
5. 원래 메소드를 새로운 메소드를 호출하도록 변경한다.
6. 컴파일하여 테스트한다.
리팩토링을 진행할 경우 기능을 확장하거나 추가할려고 했을 경우 등
명확한 목적을 정하고 리팩토링 하는 것이 효율적이다.
1. 리팩토링과 다른 작업을 분리한다.
프로그램에 기능을 추가하는 등의 작업을 할 때 리팩토링을 되도록 하지 않는다.
2. 리팩토링 전후에 반드시 테스트를 한다.
java용 테스팅 프레임워크 junit를 사용하는것이 적절할 수 있다.
3. 한 번에 최소한의 작업만 한다.
작은 수정을 수행하고 그때마다 테스트를 한다.
4. 기존의 로직에 미치는 영향을 적게 한다.
이미 정상적으로 동작하는 있는 기존의 코드를 가능한 한 남기고 서서히 진행한다.
5. 반드시 백업을 해 둔다.
CVS 등 버전별로 보존할 수 있는 구성관리 툴을 사용해서 백업을 한다.
메소드 추출의 순서
1. 적절한 이름의 새 메소드를 만든다.
2. 추출하고 싶은 로직을 새 메소드로 복사한다.
3. 추출된 로직 속의 로컬 변수를 새 메소드에 적합하도록 변경한다.
(메소드의 인수나 임시변수, 반환값으로 변경한다.)
4. 컴파일하여 테스트한다.
5. 원래 메소드를 새로운 메소드를 호출하도록 변경한다.
6. 컴파일하여 테스트한다.
리팩토링을 진행할 경우 기능을 확장하거나 추가할려고 했을 경우 등
명확한 목적을 정하고 리팩토링 하는 것이 효율적이다.