본문 바로가기

코드리뷰정리

(3)
[코드 리뷰 정리] Level 1. 블랙잭 2021-03-15글 Controller에 있는 도메인 로직 게임 진행을 위해 Controller에 많은 역할을 구현했었다. 위 피드백을 받고 BlackjackGame이라는 객체를 만들어 게임의 진행을 하도록 구현했다. 각각의 플레이어들의 게임을 진행에 Input과 Output이 연결되어 있어서 처음 리팩토링에서는 BlackjackGame에서 플레이어들을 꺼내오고, 플레이어 하나 하나마다 게임을 진행하게 되었다. BlackjackController 일부 private void askWantToHit(Player player, BlackjackGame blackjackGame) { while (isAbleToAskHit(player, blackjackGame) && Answer.of(InputView.in..
[코드 리뷰 정리] Level1. 로또 2021-03-01글 1단계 피드백 객체인 Controller LottoFactory를 인스턴스 변수로 두지 않았던 이유는 Controller는 객체가 아니라 데이터를 가지면 안된다고 생각하고 있었다. 당연히 Domain만 객체라고 생각했었다. (모르는건 부끄러운게 아니다 🥲) 하지만 생각해보니 Controller도 도메인과 뷰를 이어주는 동시에, 객체를 생성하는 책임이 있다. 인스턴스 변수로 가지고 있게 된다면 getLottoTickets 메소드에서 매번 객체를 생성할 필요가 없다. 일단 이 코드에서 중요한 점은 어차피 지금 로또를 생성하는 책임을 컨트롤러에서 하고 있었으니 "불필요한 객체 생성을 방지하도록 인스턴스 변수로만들어서 재활용하자"가 목적이다. 반영한 커밋 반복되는 상수 처리 미션 데드라인을..
[코드 리뷰 정리] Level 1. 자동차 경주 게임 2021-02-15 글 우테코 레벨 1 난생 처음으로 코드리뷰를 받게 되었다. 사실 TDD도 처음이고, 누군가 내 코드를 읽고 피드백 받는 것 또한 처음인데 이런 기회가 정말 감사하면서도 떨렸던 첫 리뷰 요청이었다 👀 코드 리뷰를 받으니 내가 모르는 부분과 나의 실수들을 명확히 볼 수 있었다. 또한 리뷰를 보니 나의 잘못된 코딩 습관도 발견할 수 있었다. 덕분에 고민하고 공부해봐야 할 것들을 알 수 있어 정말로 나에게 너무나도 큰 도움이 되었다 🙇‍♂️ 피드백 받은 부분에서 계속 머릿 속에 박기 위해 몇 가지는 정리하고 넘어가는 것이 좋을 것이라 판단이 되었다. 불필요한 객체 생성을 피하라 Pattern 객체는 비싸다 나는 지금껏 올바른 숫자인지, 문자인지 등을 검증할 때 대부분 Pattern 객체를 정..