✅ 블랙잭 사이클1 코드리뷰
내 PR: https://github.com/woowacourse/java-blackjack/pull/998
페어 PR: https://github.com/woowacourse/java-blackjack/pull/1000
페어 프로그래밍을 통해 구현했던 코드를 각자의 리뷰어한테 리뷰 받았다.
😃 Liked (좋았던 점)
- 페어 프로그래밍을 하면서 같은 코드에 대해 두 분의 리뷰어에게 동시에 리뷰를 받을 수 있다는 점이 좋았다. 하나의 포인트에 대해서도 여러 관점에서 피드백을 받을 수 있어 다양한 시각으로 고민해 볼 수 있었다.
☹️ Lacked (부족했던 점)
- 테스트 코드를 충분히 작성하지 못했던 점이 아쉬웠다. 페어 프로그래밍으로 처음 구현하다 보니 빠른 기능 구현에 집중하게 되었고, 그 과정에서 테스트 코드에서 빠진 부분들이 많았던 것 같다.
- 상속에 대한 이해가 부족했던 것 같다. 이전까지는 상속을 되도록 사용하지 않는 것이 좋다는 말만 듣고, 블랙잭의 Dealer와 Player를 하나의 클래스에서 isDealer라는 불리언 필드로 구분해 구현했다. 하지만 이렇게 구현하니 객체의 책임이 불분명해지고 코드 구조도 점점 복잡해졌다.
- Service 클래스에 대한 이해가 부족했다.
🧐 Learned (배운 점)
- 페어 프로그래밍을 진행하면서 TDD가 정말 좋은 개발 방법인지에 대한 고민이 있었다. 복잡한 동작에는 TDD가 효과적일 수 있지만, 단순한 동작에는 오히려 개발 복잡도를 높일 수 있다고 생각했다. 그런데 리뷰어분들도 비슷한 관점을 가지고 계셨고, 그 피드백을 통해 내 생각을 더 분명하게 정리할 수 있었다.
- 상속에 대해 더 깊이 고민해 볼 수 있었다. 이전까지는 상속이 안티패턴이라는 인식 때문에 무조건 사용을 피하려 했는데, 이번 기회를 통해 언제 상속을 사용하는 것이 적절하고 언제 사용하지 않는 것이 좋은지에 대해 생각을 정리할 수 있었다.
- Service에 대한 내 생각을 정리할 수 있었다. 이전까지는 여러 도메인이 협력하는 상황에서 Service 클래스를 사용하는 편이었는데, 피드백을 통해 이것이 객체의 책임 분리가 부족하다는 신호일 수도 있다는 것을 깨달았다.
- 정리한 내용: [레벨1 블랙잭] Service 클래스에 대한 고찰
🤗 Longed for (앞으로 바라는 점)
- 피드백을 해주신 리뷰어분들은 나보다 경험이 많다 보니, 나도 모르게 ‘이분들의 피드백은 무조건 맞는 말일 것’이라고 생각했던 것 같다. 하지만 이런 태도는 좋은 자세가 아니라고 느꼈다. 성장을 위해서는 피드백을 그대로 받아들이기보다는 그 내용에 대해 스스로 고민하고 비판적으로 생각해 볼 필요가 있다. 앞으로는 맞는 말이라면 왜 맞는지, 아니라면 왜 그렇게 생각하는지 질문할 수 있는 자세를 가지려고 한다.
✅ 블랙잭 2 구현 & 피드백
블랙잭 1에서 받았던 피드백을 반영한 상태로 블랙잭 2를 구현했다.
😃 Liked (좋았던 점)
- 피드백을 반영해 어느 정도 구조적으로 안정된 코드를 만든 뒤 새로운 기능을 추가해 보니, 구현에 생각보다 오랜 시간이 걸리지 않았다.
- 무조건적으로 TDD를 적용하지는 않았다. 한 번에 머릿속에 그려지지 않을 정도로 복잡하거나, 책임을 어떻게 분리해야 할지 고민되는 기능에만 TDD를 적용했다. 실제로 그런 기능을 TDD로 구현해 보니 처음부터 기능을 바로 구현했을 때보다 오히려 더 빠르게 구현할 수 있었다.
☹️ Lacked (부족했던 점)
- 새로운 기능을 추가하면서 필요 없어 보이는 메서드 호출 코드를 주석으로 남겨 두었었다. 하지만 이런 코드가 프로덕션 코드에 남아 있는 것은 바람직하지 않다는 피드백을 받았다. 어찌 보면 당연한 부분인데도 놓치고 있었다는 점에서 반성하게 되었다.
🧐 Learned (배운 점)
- 이전까지는 TDD에 대해 의구심이 들었었는데, 이번에 실제로 복잡한 기능에 대해 적용을 해보니 그 가치에 대해 확실히 깨달을 수 있었다.
🤗 Longed for (앞으로 바라는 점)
- 객체의 책임을 잘 분리하는 것과 같이 좋은 설계를 하는 것도 중요하지만, 그에 앞서 나중에 사용할 것 같다는 이유로 사용하지 않는 코드를 무심코 주석으로 남겨 두는 것과 같은 좋지 않은 코드 습관을 버리는 것도 중요하다고 생각한다. 앞으로는 이런 기본적인 부분부터 잘 지키는 개발 습관을 가져야겠다고 느꼈다.
'우테코 8기 > 본과정 회고' 카테고리의 다른 글
| [우테코 8기] 6주차 회고 (0) | 2026.04.06 |
|---|---|
| [우테코 8기] 5주차 회고 (0) | 2026.03.29 |
| [우테코 8기] 4주차 회고 (0) | 2026.03.22 |
| [우테코 8기] 2주차 회고 (0) | 2026.03.08 |
| [우테코 8기] 1주차 회고 (0) | 2026.03.01 |