-
Notifications
You must be signed in to change notification settings - Fork 11
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
base: main
Are you sure you want to change the base?
Conversation
안녕하세요, 민지님! 1차 과제와 마찬가지로 2차 과제도 잘 구현해주셨네요! 커밋 단위도 기능 구현이나 수정, 리팩토링으로 잘 나누어 작성해주셨고, 코드도 잘 작성해주셨습니다! 저번 미션보다 클래스도 기능과 책임 단위로 잘 나누어 주신 것 같아요! README에서도 고민의 흔적이 잘 보였습니다! 발전하시는 모습 아주 멋지네요💯💯 잘 작성해주신 코드지만 약간의 피드백을 드리고자 합니다! 이번 피드백을 통해서도 더욱 발전하셨으면 좋겠어요👊👊 |
src/main/java/racingcar/Car.java
Outdated
@@ -9,5 +9,33 @@ public Car(String name) { | |||
this.name = name; | |||
} | |||
|
|||
// 추가 기능 구현 | |||
public void IncreasePosition() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IncreasePosition 메소드명이 camel case를 지키지 않고 있습니다!
public void IncreasePosition() { | |
public void increasePosition() { |
|
||
public class RandomNumMaker { | ||
|
||
public int RandomNum() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
RandomNum 메소드명도 camel case를 지키지 않고 있네요!
public int RandomNum() { | |
public int randomNum() { |
|
||
import mallang.missionutils.Randoms; | ||
|
||
public class RandomNumMaker { |
There was a problem hiding this comment.
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(); | ||
} |
There was a problem hiding this comment.
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); |
There was a problem hiding this comment.
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) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 메소드의 출력문은 한 문장으로도 구성 가능할 것 같네요!
selectWinner(); | ||
} | ||
|
||
public void doSingleGame() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 메소드들은 클래스 내부에서만 호출되기 때문에 접근제어자를 private으로 만든다면, 외부에서 직접 호출되는 것을 막고, 캡슐화도 잘 되게 만들 수 있을 것 같아요!
[202101947 김민지] 2주차 미션을 제출합니다.