티스토리 뷰

1주차 미션 : 문자열 계산기, 자동차 경주 게임

https://github.com/woowacourse/java-racingcar

후기

  • 자동차 경주 프로그램은 프리코스때 한번 만들어봐서 수월할줄 알았으나, 페어프로그래밍이 처음이라 어려웠다.
  • 판단의 기준이 부족하다. 클래스는 이렇게 분리하는것이 맞는지, 이 메소드는 여기에 위치하는것이 맞는지 등, 모르는 것이 참 많게 느껴진다. 이제 첫주니 점점 공부하면서 나아질것으로 기대한다.

내 코드 피드백

함수가 한가지 일만 잘하도록 최대한 메소드를 분리한것 같았는데도, 여전히 남아있었다.

피드백을 받고 리팩토링 수행

Java) enum을 활용해 if문 없애기 (with Calculator 예제)

View를 분리하는 것이 익숙치 않았고, 이번주에 가장 어려웠던 부분이다.
계속해서 고민해보자.

for문을 stream으로 간단히 구현할 수 있었다.
다만, 과한 stream사용은 이슈가 있는것 같으니 주의하며.

다른 사람들의 피드백

나는 생각치 못했던 방식

View와 분리하라는 피드백만큼이나 자주보이는, 게임결과(Result)를 별도 클래스로 분리해보라는 피드백

실제 객체의 중요정보라면 toString()으로
그저 뷰를 위한 표현로직이라면 View가 갖도록

역시 정답은 없고, 관점에 따라 다른것 같다.

나도 MVC패턴에 집착하는 경향이 있었다. 일단 객체분리부터 제대로 해내자

테스트하기 쉬운 코드를 만들어보자

Scanner같은 저정도는 괜찮을줄 알았는데, 피드백이 몇번 보이고 있다. 축약금지!

참조값의 문제. 저렇게 고친다면 더 안전해진다.

둘다 괜찮은 방법인것 같다

고민했던부분. 다음번엔 나도 팩토리패턴을 이용해보자

내 코드도 이렇게 개선 가능. 단순히 메소드로 분리할 생각만 하지말고, 이렇게 다양하게 생각해보자

위의 링크를 보니 Random은 state를 갖기 때문에 새로운 인스턴스를 만들어 사용하는것이 좋은것 같다.
the seed is initialized based on the current time in nanoseconds + a static counter, which means different instances are very likely to have different sequences.

List<Car> cars = Arrays.asList(new Car("pobi"), new Car("sean")); 과 같은 형태로 사용 추천
우측 설명을 참고하면, 상황에 따라 적절히 선택하여 사용.

역시 분리하는게 좋았다

역시 자주 등장하는 피드백, CarValidator와 같이 좀더 디테일하게 이름짓는게 나은것 같다

그렇군!!

In Java, should variables be declared at the top of a function, or as they're needed?

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함