반응형

리팩토링 4

[220213][JAVA] 페어 협업미션 리뷰어의 피드백_자동차 경주 미션

이번에는 자동차 경주 미션 관련 피드백이다. 문자열 덧셈 계산기에 비해 로직이 많다보니, 리뷰 내용도 상당히 많았는데, 한 번 살펴보도록 하자. 전체 피드백은 https://github.com/woowacourse/java-racingcar/pull/256 여기서 볼 수 있으며, 포스팅에는 인상깊었던 피드백 위주로 작성할 예정이다. Stream, Lambda로 불필요한 메소드와 변수를 줄이자. 이번에도 역시 stream 피드백이 존재한다. 아직 stream에 익숙하지 않아서 서툰 면이 많이 존재하는데, filter를 이용하면 List에 maxPosition에 해당하는 값들만 넣어줄 수 있기 때문에 stream을 사용하면 26~29라인에 해당하는 줄들을 바로 return문에 넣을 수 있다. return c..

[220211][JAVA] 페어 협업미션 리뷰어의 피드백_문자열 덧셈 계산기

저번에 알렉스와 함께 페어 프로그래밍을 진행한 '문자열 덧셈 계산기', '자동차 경주 미션'이 벌써 피드백이 올라왔다! 리뷰어님(이하 미르)께서 새벽 2시에 피드백해주셨던데, 미르의 성실함에 감탄하지 않을 수 없었다... 전체 피드백 내용은 https://github.com/woowacourse/java-racingcar/pull/256 에서 볼 수 있다. [1단계 - 자동차 경주 구현] 케이(김태현) 미션 제출합니다. by kth990303 · Pull Request #256 · woowacourse/j 선배님 안녕하세요! 우테코 4기 케이입니다. 열심히 배우겠습니다. 잘 부탁드립니다! 미션을 진행하면서 궁금했던 점이 있습니다. CarNameValidator 클래스에서 조건문 내부에 name.isBla..

[TDD 리팩토링] @ParameterizedTest을 이용한 테스트 메소드에서의 여러 값 검증

아래의 테스트 코드를 한 번 보자. 빈 문자열 또는 null일 경우 0을 반환해주게 하는 테스트 코드이다. 또 다른 테스트 코드도 한 번 보자. 방금 보여준 두 개의 테스트 코드는 모두 어딘가에 하자(?)가 존재한다. 바로바로... 하나의 테스트 메소드에 불필요하게 너무 많은 assert문이 존재한다는 것이다! 이러한 경우는 보통, 검증을 제대로 못했거나, 하나의 메소드에 하나의 test라고 생각했지만 여러 개의 test를 묶어놓은 경우이다. 우리는 위 코드들을 알아보기 쉽게 리팩토링해볼 것이다. 1. @ParameterizedTest 이용 먼저 맨 처음 테스트코드 먼저 고쳐보자. 사실 리뷰어(이하 미르)의 피드백을 받기 전까진 @ParameterizedTest가 무엇인지도 몰랐다. @Parameteri..

[220210][JAVA] 알렉스와의 페어 협업미션을 통해 배운 점

오늘은 우아한테크코스 4기 활동이 본격적으로 시작된 두번째 날이다. 오전에 데일리 미팅을 진행하고, 오후에는 스터디룸을 대여해서 알렉스와 함께 하루종일 페어 미션을 진행하였다. 알렉스는 코딩 경험이 풍부하여 많은 부분에서 배울 점이 많았으며, 굉장히 친절하신 형이었어서 재밌게 작업하면서 많은 점을 배울 수 있었다. 오늘은 페어 프로그래밍을 통해 배운 점을 기록해보려 한다. 1. java.lang.String 클래스의 isEmpty()와 isBlank() 차이 자동차 경주 미션을 진행하면서, 자동차 이름이 공백일 때와 빈 문자열일 때 예외처리를 해주어야 하는 상황이 발생했다. 이 때 String의 isBlank() 메소드를 사용하면 빈 문자열일 때 뿐만 아니라 공백만 포함돼있을 때도 true를 리턴해준다...

반응형