Open
Conversation
- toNumberArray 함수를 만들어서 반복 패턴 줄임
- id(#). class(.) 등 유연하게 선택자 사용할 수 있게 getElementById 말고 querySelector DOM 요소 선택
https://github.com/woowacourse-projects/javascript-mission-utils#mission-utils README 에 적힌 const randomNumber = Random.pickNumberInRange(1, 9); 이게 아니라. 문서 안에 있는 사용법 참고결과 앞에 MissionUtils 붙여야함.
HTML form의 기본 동작은 버튼 클릭 시 서버로 데이터를 전송하고 페이지를 새로고침함. 서버 없이 JS로만 처리하므로 e.preventDefault()로 새로고침 막음.
submitButton 클릭 시 랜덤 함수가 호출되어, 확인할 때마다 정답이 바뀌는 문제 수정. 랜덤 함수 호출 시점을 게임 시작 시(첫 게임 및 재시작 버튼 클릭 시)로 변경.
컴퓨터 랜덤 숫자는 이미 숫자 배열로 생성되므로 toNumberArray 적용시 split으로 인해 [1, NaN, 2, NaN, 3] 같은 잘못된 값이 도출되는 문제 수정
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
안녕하세요, 송혜정 리뷰어님.
프론트엔드 4기 홍의민입니다.
1단계 숫자야구게임 미션 제출합니다.
기능 구현 목록
BaseballGame.js (src/index.js)
BaseballGame 클래스 — 랜덤한 숫자와 유저 입력 숫자를 비교하는 클래스
[입력값 검증 기능]
[결과 계산 기능]
[결과 출력 기능]
index.js (DOM 연결 및 게임 흐름)
[랜덤 숫자 생성]
[이벤트 처리]
→ 결과 계산 play → 화면 출력 resultDiv
MVC 패턴 리팩토링
기능 구현 이후, MVC 패턴으로 리팩토링을 진행했습니다.
Model (src/models/BaseballGameModel.js)
View (src/views/BaseballGameView.js)
Controller (src/controllers/BaseballGameController.js)
App.js (src/App.js)
❓ 질문사항
1. 처음부터 MVC로 나눠서 만드는 게 더 좋을까요?
이번 미션에서는 index.js에 모든 기능을 먼저 구현한 뒤, MVC 패턴으로 리팩토링하는 순서로 진행했습니다.
처음부터 model, view, controller로 나누고 개발을 시작하는 것이 더 좋은 방법인지 궁금합니다.
저는 우선 동작하는 코드를 만들고 나서 구조를 잡는 게 이해하기 쉬울 것 같아서 이 순서로 진행했는데, 실무에서는 어떤 순서를 선호하시는지 듣고 싶습니다.
2. 폴더 이름은 단수(model)와 복수(models) 중 어떤 것이 좋을까요?
저는
models,views,controllers로 복수형 폴더명을 사용했는데, 프로젝트에 따라model,view,controller처럼 단수형을 쓰는 경우도 본 것 같습니다.어떤 네이밍 컨벤션이 더 일반적인지, 혹은 팀마다 다른 것인지 궁금합니다.
💭 고민사항
스터디 진행 방식과 AI 활용에 대한 고민
사실 저는 이런 개발 스터디가 처음입니다.
그래서 미션을 진행할 때 AI를 최대한 활용하지 않으려고 했고, 가능한 한 제가 아는 선에서 직접 코드를 짜려고 노력했습니다.
모르는 메서드나 해결되지 않는 오류가 있을 때에만 구글링과 AI의 도움을 받았고, MVC 패턴에 대해서는 방향성을 물어보면서 공부하는 방식으로 진행했습니다.
그런데 미션을 끝내고 보니, 이 방법이 맞는 건지 고민이 됩니다.
마치며
혹시 앞으로 더 주의해야 할 점이 있다면 말씀해 주시면 감사하겠습니다.