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

[202101947 김민지] 2주차 미션을 제출합니다. #1

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

Conversation

alsswl
Copy link

@alsswl alsswl commented Feb 24, 2024

[202101947 김민지] 2주차 미션을 제출합니다.

@daemin-kim
Copy link

안녕하세요, 민지님!

1차 과제와 마찬가지로 2차 과제도 잘 구현해주셨네요!

커밋 단위도 기능 구현이나 수정, 리팩토링으로 잘 나누어 작성해주셨고, 코드도 잘 작성해주셨습니다!

저번 미션보다 클래스도 기능과 책임 단위로 잘 나누어 주신 것 같아요! README에서도 고민의 흔적이 잘 보였습니다! 발전하시는 모습 아주 멋지네요💯💯

잘 작성해주신 코드지만 약간의 피드백을 드리고자 합니다! 이번 피드백을 통해서도 더욱 발전하셨으면 좋겠어요👊👊

@daemin-kim daemin-kim self-requested a review February 27, 2024 14:37
@@ -9,5 +9,33 @@ public Car(String name) {
this.name = name;
}

// 추가 기능 구현
public void IncreasePosition() {
Copy link

@daemin-kim daemin-kim Feb 27, 2024

Choose a reason for hiding this comment

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

IncreasePosition 메소드명이 camel case를 지키지 않고 있습니다!

Suggested change
public void IncreasePosition() {
public void increasePosition() {


public class RandomNumMaker {

public int RandomNum() {
Copy link

@daemin-kim daemin-kim Feb 27, 2024

Choose a reason for hiding this comment

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

RandomNum 메소드명도 camel case를 지키지 않고 있네요!

Suggested change
public int RandomNum() {
public int randomNum() {


import mallang.missionutils.Randoms;

public class RandomNumMaker {

Choose a reason for hiding this comment

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

RandomNumMaker 클래스는 단순한 유틸리티 메소드만 제공하고 있는 것 같아요! 인스턴스화가 필요하지 않다고 느껴지는 부분이네요! Static 메소드를 제공하는 것만으로도 제 기능을 충분히 할 것 같아요! 또한 저런 고정된 상수는 매직 넘버로 처리하여 가독성 및 유지보수성을 높일 수 있다는 점 알고가시면 좋을 것 같습니다!

inputChecker.checkNumber(numberOfTryInput);
} catch (Exception e) {
getNumberOfTry();
}

Choose a reason for hiding this comment

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

이 메소드들은 재귀로 입력 오류를 처리하고 있는 것 같은데, “혹여나 잦은 입력 오류의 반복으로 스택 오버플로우 오류가 일어나진 않을까?”라는 생각을 해보았습니다🤨🤨 반복문을 사용해서 사용자가 유효한 입력을 제공할 때까지 요청해보도록 수정해보는 것은 어떨까요?

int numberOfTry = inputGetter.getNumberOfTry();

RaceGame raceGame = new RaceGame(userName);
raceGame.doGame(numberOfTry);

Choose a reason for hiding this comment

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

userName 변수는 복수형의 의미를 담고 있지 않아, 단 한 명의 userName만을 의미한다고 느껴질 수도 있을 것 같아요! 사실 제가 처음에 그랬답니다😮😮 userNames 등의 복수 표현을 사용하거나, 차의 이름이라는 의미에서 carNames도 괜찮은 변수명일 것 같아요!

System.out.println();
}

public void printWinner(StringBuilder winner) {

Choose a reason for hiding this comment

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

이 메소드의 출력문은 한 문장으로도 구성 가능할 것 같네요!

src/main/java/racingcar/Car.java Show resolved Hide resolved
selectWinner();
}

public void doSingleGame() {

Choose a reason for hiding this comment

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

이 메소드들은 클래스 내부에서만 호출되기 때문에 접근제어자를 private으로 만든다면, 외부에서 직접 호출되는 것을 막고, 캡슐화도 잘 되게 만들 수 있을 것 같아요!

src/main/java/racingcar/InputChecker.java Outdated Show resolved Hide resolved
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.

2 participants