Skip to content
amazingguni edited this page Nov 29, 2017 · 1 revision

Re-engineering

Refactoring

리팩토링은 기능에는 변경을 주지 않고 코드의 내부 구조를 개선하는 작업을 의미합니다.

주로 가독성을 높히고 유지보수를 편하게 합니다.

Process, Instructions

Testcase를 먼저 작성하고 Code Smell이 감지되는 곳을 우선적으로 구조를 개선한다.

특히 변수나 함수의 이름, 과도한 책임을 가지고 있는 함수나 클래스에서 새로운 함수나 클래스를 도출하는 작업을 진행한다.

Re-enginnering for Different

From C Programs to Object-Oriented Design

가장 먼저 해야 할 일은 Program에서 사용되는 Entity를 식별해내고 그것을 객체로 만듭니다.

이후에 프로시져에 있던 책임들을 GRASP 원칙을 지키면서 객체들에 옮겨주면 됩니다.