Whiteship's Note

Agile Java 2장 연습문제 풀기

Java : 2006.10.29 11:47


1. TestPawn에 색이 없이 말을 생성하는 테스트를 추가한다. 이 테스트는 왜 컴파일 에러를 발생시키는가? 기본으로 횐색의 말을 생성하는 두 번째 생성자를 추가하여 이 컴파일 에러를 고쳐보자.

답보기

more..


2. 두 색상에 대한 상수를 만들고 그 상수를 Pawn 클래스로 옮긴다.

코드보기

more..


3. 장기 말은 체스 판이 없이는 쓸 수 없다. Board 클래스를 정의하기 위한 테스트를 사용한다. 체스 판이 위에 말이 없는 상태로 시작하는 것을 확인한다. TDD(테스트 위주 개발, test driven development) 과정을 적용한다. 가능한 가장 작은 테스트를 작성하고 붉은 막대를 보이며 실패하거나 컴파일 에러가 일어나는 것을 확인한다. 점차적으로 조금씩 코드를 추가하면서 컴파일이 되도록 하고 테스트에서 녹색 막대가 나타나도록 한다.

답보기

more..


4. 장기말을 체스판에 추가할 수 있는 코드를 작성한다. 테스트에서 검은 색과 흰색의 말을 체스판에 추가한다. 말을 추가할 때마다 말의 수가 맞는 것을 확인한다. 또한 말을 추가할 때마다 체스판에서 말의 목록을 얻어서 원하는 말 객체를 가지고 있는 것을 확인한다.

답보기

more..


5. 지금까지 작성한 각각의 결과 클래스와 메소드에 javadoc을 작성한다. 메소드가 이미 나타내고 있는 정보를 중복해서 보이지 않는다! javadoc은 단지 보충 정보일 뿐이다.

javadoc -package -classpath "소스파일 있는 곳";"junit-4.1.jar파일 있는 곳" *.java

6. 작성한 클래스와 네 개의 테스트를 패키지로 묶는다. 패키지 이름을 chess로 한다. 컴파일 문제를 해결하고 녹색 막대를 다시 확인하자. 또한 import 문을 사용해서 List와 ArrayList의 전체 클래스 이름을 바꾼다.

답보기

more..



7. TestPawn과 Pawn을 pices라는 이름의 패키지로 옮기고 이 과정에서의 문제를 해결한다.



8. 체스판에 Pawn 이외의 객체가 추가되지 않도록 한다. 말의 리스트에 new Integer("7")객체를 추가해 보고 컴파일 에러가 발생하는 것을 확인한다.

Board 클래스를 수정합니다.

more..



9. 각각의 테스트 클래스를 실행하는 테스트 스위트를 생성한다.


10. 지금까지 작성한 코드를 둘러보고 코드에 중복되는 부분이 없는지 확인한다. 테스트 코드 역시 코드임을 기억하자. 필요하다면 setUp 메소드를 사용한다.

BoardTest 클래스를 수정합니다.

more..


'Java' 카테고리의 다른 글

객체지향의 구멍 static  (0) 2006.11.04
i++와 i=i+1 속도 비교  (0) 2006.11.02
Comparator를 사용하여 비교하기.  (0) 2006.11.02
Arrays.sort() & Collections.sort()  (2) 2006.11.02
What is Object?  (12) 2006.11.01
Agile Java 2장 연습문제 풀기  (2) 2006.10.29
Lazy Initialization 언제 사용 해야 될까요?  (9) 2006.10.28
Agile Java 1장 연습문제 풀기  (2) 2006.10.27
JUnit 3.8 과 JUnit 4의 차이  (0) 2006.10.27
Reference의 위험성  (10) 2006.10.27
다중 구현(?)  (2) 2006.10.23
top




: 1 : ··· : 127 : 128 : 129 : 130 : 131 : 132 : 133 : 134 : 135 : ··· : 140 :