Conversation
DHkimgit
left a comment
There was a problem hiding this comment.
과제 진행하느라 고생 많으셨습니다. 고민을 많이 하신 것 같아요. 몇가지 피드백 드렸으니 참고해주세요!
| 자동차 이름을 입력 | ||
|
|
||
| 입력받은 문장 쪼개기 | ||
|
|
||
| 예외처리 | ||
|
|
||
| 게임 횟수 입력 | ||
|
|
||
| 게임 진행 출력 및 랜덤 계산 | ||
|
|
||
| 우승자 찾기 | ||
|
|
||
| 우승자 출력 | ||
|
|
||
| Test추가 No newline at end of file |
There was a problem hiding this comment.
기능 정리하고 각 기능 단위로 커밋 해주셨군요! 좋습니다!!
커밋 메시지 관련해서 깃허브 커밋 메시지 컨벤션 키워드 더 공부해보시면 좋을 것 같아요.
코인 프로젝트의 커밋 메시지를 참고해보세요!
| @Test | ||
| void test() { | ||
| String input = "1,2,3,45"; | ||
| String[] result = input.split(","); | ||
|
|
||
| assertThat(result).contains("45","3","2", "1"); | ||
| assertThat(result).containsExactly("1","2","3", "45"); | ||
| } |
There was a problem hiding this comment.
이 코드는 테스트 코드 시험 목적으로 작성하신건가요? 테스트 코드는 보통 src/test/java 패키지 내부에서 작성해요. 테스트 코드를 별도의 패키지에서 작성하는 이유가 뭘까요?
| for (String name : userInput.split(",")) { | ||
| carNames.add(name.trim()); | ||
| } |
There was a problem hiding this comment.
stream(), trim(), join() 등 자바에서 제공하는 api를 적극적으로 사용하진 부분이 좋습니다!
|
|
||
| //예외처리--------------------------------------------------- | ||
| try { |
There was a problem hiding this comment.
주석을 통해 코드에 대한 설명을 덧붙여 주셨네요. 코드를 읽는 입장에서 이해하기 편했어요. 다만, 주석을 사용하지 않고 코드 자체로 가독성을 챙길 수 있는 여러가지 방법이 있을 것 같아요. 함수를 이용하는 방법은 어떨까요?
| if (Name.length() > 5) { | ||
| throw new IllegalArgumentException(); | ||
| } |
There was a problem hiding this comment.
IllegalArgumentException 생성시 인자로 문자열을 넘겨줄 수 있어요. 예외의 원인을 담아서 예외 객체를 생성하면 어떤 장점이 있을까요?
| } catch (IllegalArgumentException e) { | ||
| return; | ||
| } |
There was a problem hiding this comment.
try-catch 문을 통해 예외 처리를 해주셨네요. catch 문 내부를 비워두셨는데, 이유가 있으신가요?
| //경주시작------------------------------------------------- | ||
| int ssc = 0; |
| int randomInt = Randoms.pickNumberInRange(0, 9); | ||
| if (randomInt > 3) { | ||
| score.set(ssc, score.get(ssc) + 1); |
| int rank1 = 1; | ||
| int rank2 = 0; | ||
| for (int k = 0; score.size() - 1 > k; k++) { | ||
| rank2 = Math.max(score.get(k), score.get(k + 1)); | ||
| if (rank2>rank1){ | ||
| rank1=rank2; | ||
| } | ||
| } |
There was a problem hiding this comment.
가장 멀리 나간 자동차를 찾기 위한 로직 같아요. rank2 변수를 사용하지 않는 방법은 없을까요?
| if (carNames.size()==1){ | ||
| rank1=score.get(0); | ||
| } |
There was a problem hiding this comment.
바로 위 반복문의 종료 조건 score.size() - 1 때문에 추가한 코드 같아요. 위 기능에서 한번에 처리할 수 있을 것 같습니다.
No description provided.