Whiteship's Note


JUnit 공부하자.

Design Pattern : 2008.09.01 19:45


코딩하기
TDDBE에 있는 xUnit 예제 코드 자바로 코딩하기.
TDD - xUnit 18장.
TDD - xUnit 19장 (2)
TDD - xUnit 20장
TDD - xUnit 21장
TDD - xUnit 22장
TDD - xUnit 23장

코드보기


1.0 코드는 구하기 힘듬. 하지만 구했음 캬캬. 테스트 코드 분실.
2.0 코드의 가장 큰 변화는 "test"가 앞에 붙은 녀석들을 자동으로 등록/실행.
3.0 코드의 가장 큰 변화는 Assert가 상위 클래스가 됨.

개념파악
http://www.martinfowler.com/bliki/Xunit.html <- 기원
http://www.martinfowler.com/bliki/JunitNewInstance.html <- 왜 Isolate 시켰는가?
junit doc에 있는 cooktour 읽을 것.


Kent Beck 한테 배우는 거다. JUnit에 담겨 있는 패턴과 깔끔한 코드를...

'Design Pattern' 카테고리의 다른 글

Visitor 패턴  (2) 2010.03.12
Holub on Pattern 좋은데요~  (4) 2008.12.07
프로토타입 패턴(Prototype Pattern)  (2) 2008.10.31
데코레이터(Decorator) 패턴  (0) 2008.10.01
프록시(Proxy) 패턴  (0) 2008.09.26
JUnit 공부하자.  (0) 2008.09.01
H.F.OOAD 5장 문제  (0) 2007.11.20
상위 클래스 보다는 인터페이스를...  (4) 2007.08.31
Singletons and lazy loading  (2) 2007.01.27
객체지향 디자인 원칙  (2) 2006.12.11
Losely Coupled를 활용하라.  (0) 2006.12.11
top


3장 코드 속의 나쁜 냄새 - 중복된 코드

Refactoring/1~4장 : 2006.10.06 22:00


1장2장을 통해서 리팩토링이 어떻게 돌아가는지 알게 됐습니다. 하지만 리팩토링을 어떻게 하는지 안다고 해서 할 수 있는 것은 아닙니다. 언제 해야 하는지를 알아야 하는데... 그게 어려운 것 같네요. 3장을 Kent Beck이랑 Martin Fowler가 썼는데도 명확한 시점이라기 어떤 "냄새"가 날 때 라는 모호한 시점을 제기했네요. 경험적으로 인간의 직관보다 나은 기분은 없기 때문이라고 합니다. 그럼 이제 부터 어떠한 "냄새"들이 있으며 그런 "냄새"들은 어떻게 제거할지 살펴봅시다.

중복된 코드(Duplicated Code)

악취 중에 일등이 중복된 코드라고 하네요.
  • 한 클래스의 서로 다른 두 메소드 안에 같은 코드가 있는 경우 => Extract Method로 메쏘드로 뽑아내고 호출하도록 변경.
  • 동일한 슈퍼클래스를 갖는 두 서브 클래스에서 같은 코드가 나타나는 경우 => 양쪽 클래스에서 Extract Method를 한 뒤 Pull UP Method를 사용할 수 있슴.
  • 만약 메소드들이 같은 작업을 하지만 다른 알고리즘을 사용한다면 => 더 명확한 것을 선택하여 Substitute Algorithm을 사용할 수 있습니다.
  • 서로 관계가 없는 두 클래스에서 중복된 코드가 있는 경우에는 한쪽 클래스에서 Extract Class를 사용한 다음 양 쪽에서 이 클래스를 사용하도록 하는 것을 고려할 것.
  • 다른 가능성 : 메소드가 클래스 중 하나에 포함되어 있고, 다른 클래스에서 호출되어야 하거나 또는 세 번째 클래스에 속하는 그 메소그가 원래 두 클래스에서 참조되어야 하는 경우. => 뭔말인지...전혀 감이 안잡히는데요;;;


top