refactoring-2nd API 리팩터링 원래 함수(변경 함수)를 호출하는 곳에서 반환 값을 사용한다면 질의 함수를 호출하도록 바꾸고, 원래 함수를 호출하는 코드를 바로 아래 줄에 새로 추가한다. 원래 함수에서 질의 관련 코드를 제거한다. 이제 원래 함수를 호출하는 곳을 찾아서 새로운 질의 함수를 호출하도록 바꾸고, 원래의 변경 함수에서 질의 관련 코드를 없앤다. 두 함수의 로직이 아주 비슷하고 단지 리터럴 값만 다르다면, 그 다른... refactoring-2ndrefactoring-2nd 상속 다루기 이런 경우라면, 먼저 공통 코드를 함수로 추출하고 추출한 메서드를 수퍼클래스로 옮긴다. 이 메서드를 사용하지 않는 모든 서브클래스에서 제거한다. 이 필드를 사용하지 않는 모든 서브클래스에서 제거한다. 필드 값에 따라 동작이 달라지는 코드가 있다면, 이런 필드를 서브 클래스로 대체하도록 한다. 타입 코드 필드를 자가 캡슐화한다. 타입 코드 값에 해당하는 서브클래스를 만든다. 타입 코드 게터 메... refactoring-2ndrefactoring-2nd
API 리팩터링 원래 함수(변경 함수)를 호출하는 곳에서 반환 값을 사용한다면 질의 함수를 호출하도록 바꾸고, 원래 함수를 호출하는 코드를 바로 아래 줄에 새로 추가한다. 원래 함수에서 질의 관련 코드를 제거한다. 이제 원래 함수를 호출하는 곳을 찾아서 새로운 질의 함수를 호출하도록 바꾸고, 원래의 변경 함수에서 질의 관련 코드를 없앤다. 두 함수의 로직이 아주 비슷하고 단지 리터럴 값만 다르다면, 그 다른... refactoring-2ndrefactoring-2nd 상속 다루기 이런 경우라면, 먼저 공통 코드를 함수로 추출하고 추출한 메서드를 수퍼클래스로 옮긴다. 이 메서드를 사용하지 않는 모든 서브클래스에서 제거한다. 이 필드를 사용하지 않는 모든 서브클래스에서 제거한다. 필드 값에 따라 동작이 달라지는 코드가 있다면, 이런 필드를 서브 클래스로 대체하도록 한다. 타입 코드 필드를 자가 캡슐화한다. 타입 코드 값에 해당하는 서브클래스를 만든다. 타입 코드 게터 메... refactoring-2ndrefactoring-2nd