저장소: https://github.com/yoondgu/java-ladder/tree/step2 코드리뷰 진행 PR: https://github.com/woowacourse/java-ladder/pull/217 기능 요구사항 사다리 실행 결과를 출력해야 한다. 개인별 이름을 입력하면 개인별 결과를 출력하고, "all"을 입력하면 전체 참여자의 실행 결과를 출력한다. 구현하며 고민한 내용 기존에 작성된 코드에 새로운 기능을 추가하는 일이 낯설어서 유독 쉽지 않았다. 사다리 결과를 확인하는 로직을 구현하는 데 있어, 추상적인 사고나 알고리즘 사고 능력이 부족함을 느꼈다. 그러다보니 클래스 설계가 괜찮은지 판단하기도 전보다 어려웠다. 그래서 리뷰 요청을 할 때, 구현에 대한 구체적인 질문 보다는 내가 구현..
저장소: https://github.com/yoondgu/java-ladder/tree/step1 코드리뷰 진행 PR: https://github.com/woowacourse/java-ladder/pull/76 기능 요구사항 사다리 게임에 참여하는 사람에 이름을 최대5글자까지 부여할 수 있다. 사다리를 출력할 때 사람 이름도 같이 출력한다. 사람 이름은 쉼표(,)를 기준으로 구분한다. 사람 이름을 5자 기준으로 출력하기 때문에 사다리 폭도 넓어져야 한다. 사다리 타기가 정상적으로 동작하려면 라인이 겹치지 않도록 해야 한다. |-----|-----| 모양과 같이 가로 라인이 겹치는 경우 어느 방향으로 이동할지 결정할 수 없다. 구현하며 고민한 내용 1단계에서 주어진 요구사항 기본 구현을 목표로 TDD 방..
저장소: https://github.com/yoondgu/java-racingcar/tree/step2 코드리뷰 진행 PR: https://github.com/woowacourse/java-racingcar/pull/568 리팩터링 요구사항 자동차 경주 1단계 미션에 이어 진행한 미션이다. 핵심 비지니스 로직을 가지는 객체를 domain 패키지, UI 관련한 객체를 view 패키지에 구현한다. MVC 패턴 기반으로 리팩터링해 view 패키지의 객체가 domain 패키지 객체에 의존할 수 있지만, domain 패키지의 객체는 view 패키지 객체에 의존하지 않도록 구현한다. 테스트 가능한 부분과 테스트하기 힘든 부분을 분리해 테스트 가능한 부분에 대해서만 단위 테스트를 진행한다. 구현하며 고민한 내용 1단..
저장소: https://github.com/yoondgu/java-racingcar/tree/step1 코드리뷰 진행 PR: https://github.com/woowacourse/java-racingcar/pull/452 기능 요구사항 주어진 횟수 동안 n대의 자동차는 전진 또는 멈출 수 있다. 각 자동차에 이름을 부여할 수 있다. 전진하는 자동차를 출력할 때 자동차 이름을 같이 출력한다. 자동차 이름은 쉼표(,)를 기준으로 구분하며 이름은 5자 이하만 가능하다. 사용자는 몇 번의 이동을 할 것인지를 입력할 수 있어야 한다. 전진하는 조건은 0에서 9 사이에서 random 값을 구한 후 random 값이 4 이상일 경우 전진하고, 3 이하의 값이면 멈춘다. 자동차 경주 게임을 완료한 후 누가 우승했는지..