리팩토링

A collection of 13 posts

리팩토링

Introduce Parameter Object

참조 : http://www.refactoring.com/catalog/introduceParameterObject.html여러개의 파라미터를 가지는 메소드의 경우 그 일련의 파라미터들을 가지는 새로운 객체 타입을 받도록 변경할 수 있습니다. Eclipse의 refactoring 기능 중에 저런 리팩터링을 지원하는 것이 없는지 찾아봤지만 못찾았습니다. 있으면 좋으련만… http://dev.eclipse.org/mhonarc/lists/eclipse-pmc/

Alt+Shift+R

Eclipse에서 Rename Method 리팩토링

1288767890.bmp getNumberOfMembers() 메소드 이름을 count()로 바꾸는 것이 좋겠다는 의견을 받았습니다. 생각해보니 주소록 어플리케이션에서 숫자를 셀 것이 몇명이나 등록되어 있는지 밖에 없는데 굳이 “몇 명이 있는지 세어라” 라고 할 필요 없이 “몇이냐” 라고 물어보는게 타당하다는 생각이 듭니다. 문제는 getNumberOfMembers(

단일 책임 원칙

엔터프라이즈 컴퓨팅 중간고사 5)

 5) [10점] 가상대학에 올라와 있는 프로그램숙제의 예제들을 조사해서 잘못된 점들을 지적하고 수정하여라. 왜 잘못되었는지를 설명하고 수정 후에는 어떻게 좋아졌는지를 설명하라. [#M_답 보기|닫기| WorkerListManagerClass 안에 txt파일로부터 worker 객체를 생성하는 부분을 수업시간에 지적한 바 있습니다. 이 부분의 코드 때문에새로운 worker class를 추가 할

리팩토링

Substitute Algorithm

알고리즘을 보다 명환한 것으로 바꾸고 싶을 때는, 메소드의 몸체를 새로운 알고리즘으로 바꾼다. 위 코드를 보시면 people이라는 문자열 배열안에 Don, John, Kent라는 이름이 있는지 확인하고 만약에 있다면 해당하는 이름을 반환하는 메소드 입니다. 이것을 좀더 명확하게 표현하자면 아래와 같이 변경할 수 있습니다. 동기 어떤 것을 할

리팩토링

Pull Up Method

동일한 일을 하는 메소드를 여러 서브클래스에서 가지고 있다면, 이 메소드를 수퍼클래스로 옮겨라. 동기 중복된 동작을 제거해야 하기 때문입니다. 한쪽은 바꿨는데 다른 쪽은 그대로 라면 수정하기도 번거롭고 나중에 버그가 될 가능성이 높을 것입니다. Pull Up Method가 필요한 경우는 서브클래스에 있는 메소드가 수퍼클래스에 있는 메소드를 오버라이드하는데

리팩토링

1장 리팩토링, 첫 번째 예제

먼저 리팩토링이란? 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로, 소프트웨어 시스템을 변경하는 프로세스이다. 이것은 버그가 끼어 들 가능성을 최소화하면서 코드를 정리하는 정형화된 방법이다. “코드가 작성된 후에 디자인을 개선한다.” 물론 그 코드는 디자인을 거쳐 작성이 되었겠지만 코드가 디자인을 잘 따르지 않았거나 디자인이

You've successfully subscribed to Whiteship!
Could not sign up! Invalid sign up link.