Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

240611 #2406

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

240611 #2406

wants to merge 7 commits into from

Conversation

kimdohee58
Copy link

No description provided.

@@ -1,7 +1,18 @@
package racingcar;
//아래 4줄 readline 쓰기 위함, try-catch 쓸때 사용

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

사용하지 않는 import는 지우는 게 좋아요
인텔리제이에 자동으로 정리해주는 단축키가 있으니 찾아보는 걸 추천해요 😄

import camp.nextstep.edu.missionutils.Randoms;

public class Driving {
public void showResult(String[] car, String[] drive, int game) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

배열을 사용하기 보다는 유지보수 등 타입 변경으로 인한 사용의 편리함??을 위해
컬렉션을 사용하는 것을 추천해요

Comment on lines +22 to +23
int random = Randoms.pickNumberInRange(1, 9); // 난수를 매번 발생시킴
if (random >= 4) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

리터럴 값을 사용하기 보다는 매직 넘버를 사용해보는 건 어떨까 싶어요
매직 넘버
매직 넘버에 관한 괜찮았던 블로그 참고해보세요
그리고 기능 안에서 랜덤 값을 발생하게 되면 테스트할 때 쉽지 않을 것 같다고 생각이 들어요...
이 부분에 대해서 한 번 생각해보시면 좋을 것 같아요

// 경주할 자동차 이름 , 기준으로 입력받기
private String[] getCar() {
System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

System.in으로 입력 받기 보단
README에 알려준 라이브러리를 사용해서 입력을 받는 게 좋았을 것 같아요 😢


try {
name = br.readLine();
car = name.split(",", 5);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

split()에 2번째 인수에 limit으로 5로 제한을 주셨는데
5로 제한을 준 이유가 궁금해요 ❓

name = br.readLine();
car = name.split(",", 5);
check(car);
} catch (IOException | IllegalAccessException e) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IllegalAccessException.class 접근에 관한 예외 처리를 해준 이유가 있을까요?

int game = 0;
try {
game = Integer.parseInt(br2.readLine());
} catch (IOException e) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

입력에 대한 IOException.class와 정수로 변환하는 NumberFormatException.class도 같이
처리했으면 더 좋았을 것 같아요

// 제일 긴 주행거리 구하기
private int pick(String[] drive) {
int length = 0;
for (int i = 0; i < drive.length; i++) {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

일반 for문이 아닌 foreach로 구현했으면 어땠을까 생각이 들어요


// 경주할 자동차 이름 , 기준으로 입력받기
private String[] getCar() {
System.out.println("경주할 자동차 이름을 입력하세요.(이름은 쉼표(,) 기준으로 구분)");

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

출력하는 부분은 따로 메소드로 만들어도 좋을거 같아요~~

}

// car 이름 5자인지 확인하기
private void check(String[] car) throws IllegalAccessException {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

위에 있는 메소드와 차이점이 있을까요??
기능이 비슷해 보여서요???

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants