범죄의 재구성이라는 영화가 있죠. 프로그램 소스의 재구성이 Refactoring 입니다. Re + factor + ing 이죠.
마틴파울러 아저씨의 책이 유명한데요. 이 때부터 리팩토링이 중요한 이슈로 인정받게 되었습니다.
정리되지 않은 소스는 변경이나 기능 추가시 부작용이 많이 일어나게 됩니다. 이를 최소화하고 다룰 수 있는 정돈된 상태를 유지하기 위해서 리팩토링을 하는 것이죠.
음식이 입에 잔뜩 있는데, 더 먹어야 된다고 입안에 쑤셔넣을 수는 없는 것이죠. 물도 마시고, 입안을 정리해야 추가로 먹을 맛있는 음식을 제대로 먹을 수 있습니다. 소스도 마찬가지인데 급하다고 정리하지 않고, 코드를 쑤셔 넣으면 탈납니다.
리팩토링. 소중한 프로그램이라면 중요한 것입니다.
ECLIPSE REFACTORING
- Rename
- Move
- Change Method Signature
- Extract Method
- Extract Local Variable
- Extract Constant
- Inline
- Convert Anonymous Class to Nested
- Convert Member Type to Top Level
- Convert Local Variable to Field
- Extract Superclass
- Extract Interface
- Use Supertype Where Possible
- Push Down
- Pull Up
- Introduce Indirection
- Introduce Factory
- Introduce Parameter Object
- Introduce Parameter
- Encapsulate Field
- Generalize Declared Type
- Infer Generic Type Arguments
- Migrate JAR File
- Create Script
- Apply Script
- History
from: http://127.0.0.1:52091/help/ntopic/org.eclipse.jdt.doc.user/reference/ref-menu-refactor.htm (eclipse 시동하고 보입니다.)