Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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
Step3 자동차경주 #5516
base: kimsangha617
Are you sure you want to change the base?
Step3 자동차경주 #5516
Changes from 8 commits
725b9ce
9d7f588
782e204
cf17579
60d4b04
11df9c1
d06272d
a35d6e1
907e1e4
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
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.
자동차는 움직일 수 있어야 하지만 특정 조건인 경우에만 움직일 수 있는데요
canMove를 누가 호출해 주지 않으면 조건에 부합하는지 알 수 있는 방법이 없습니다
자동차 객체가 스스로의 움직임을 제어할 수 있도록 move 메서드 내부에서 canMove 메서드를 호출하면 어떨까요?
외부에서는 move 메서드만 호출하게 하고 움직일지 말지는 자동차가 직접 결정하는거죠
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.
자동차가 움직일 경우 바로 출력을 해버리면 현재 몇 칸을 전진했는지 알 수 있는 방법이 없는데요
move 메서드 내부에서 System.out.println으로 출력하기 보다 위치 값을 증가 시키면 어떨까요?
Car 내부에
private int position;
변수가 있다면 자동차가 전진한 위치값을 가질 수 있겠네요추가로 테스트까지 할 수 있을 것 같습니다. 지금 테스트 코드가 하나도 없으니 move 메서드에 대한 테스트를 작성해 보시면 좋을 것 같아요
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.
위치값을 증가시키고 몇 칸을 전진 했는지 알려면 스레드를 돌려야 할까요 ?
for문을 돌려 "-" 을 찍어주는 형태로 구현해봤는데요...
그리고 move 메소드를 테스트 할 때 canMove() 를 호출해야 하는데 canMove()는 Random 값이 4이상이었을 때만 테스트가 가능해보이는데.. 일정한 값이 나오는 테스트를 구현할 수 있을까요 ?
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.
미션의 핵심을 잘 짚어주셨습니다 👍
과정내의 모든 미션에서 스레드를 직접 제어하실 필요는 없습니다.
자동차의 위치를 알 수 있는 방법은 여러가지가 있을 수 있는데요
아주 간단한 방법으로는 이동을 시도할 때마다 위치 값으로 출력을 해주시면 됩니다
이 부분이 미션의 핵심인데요
canMove 메서드 내부에 Random으로 인해 테스트가 어려운 구조로 되어 있습니다
요구사항
전진하는 조건은 0에서 9 사이에서 random 값을 구한 후 random 값이 4이상일 경우이다.
는 조금 더 작은 단위로 나눠볼 수 있습니다위와 같이 2개의 기능으로 나눈다면 자동차는 직접 랜덤으로 숫자를 구할 필요가 없게 됩니다
자동차는 전진하는 조건에 부합하기만 하면 전진하면 됩니다
랜덤으로 구해진 숫자는 외부에서 전달해주면 됩니다
테스트하고자 하는 내용이 '자동차의 전진'인지 '랜덤 값 구하기'인지 고민해 보시면 좋을 것 같아요
혹시 2차 라이브 강의를 아직 보지 않으셨다면 꼭 보시고 진행하시길 추천드립니다
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.
네 답변 감사합니다 용주님 slack 으로 dm 4일전에 보냈는데 확인을 안해주신것 같아요 ㅠ 확인 한 번 부탁드립니다
2차 라이브 강의 보면서 더 진행해보겠습니다
그리고 어제 깃 푸시 했는데 푸시한 코드가 반영이 안됐을까요 ? 안보이네요..
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.
배열은 공변 문제로 인해 사용을 권장드리지 않습니다 List 인터페이스를 활용해 주세요
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.
inputview가 dto 패키지에 위치하는 것은 적절하지 않은 것 같아요
view 라는 패키지로 이동하면 어떨까요?