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

[3주차] 킹주영 월드컵 #4

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

[3주차] 킹주영 월드컵 #4

wants to merge 10 commits into from

Conversation

NamJwong
Copy link
Member

@NamJwong NamJwong commented May 6, 2022

✨ 구현 기능 명세

기본 과제 모두!

+ 신경 쓴 것

  • 언제든 데이터의 개수에 따라 몇 강으로 할지 변경할 수 있도록 해뒀습니다 물론 최소 4강은 돼야 합니다 근데 데이터의 개수가 홀수개일 경우의 에러 처리는 안했어요 알아서 사용자가 짝수로 잘 넣어야 해요 솔직히 그렇게 해야 양심 있는 사용자! 는 시간나면 에러 처리 해보도록 하겠습니다
  • 라우팅 했어요

🎁 PR Point

벼락치기로 갈겼는데 특히 스타일드컴포넌트의 가독성이 엉망입니다,,

😭 어려웠던 점

상태 관리나 로직 짜는게 복잡했습니다! 꼬옥 리팩토링 해보고 싶네욘

😎 구현 결과물

3주차과제
image
image

image

@NamJwong NamJwong added the 3️⃣ 3주차 3주차 과제에요. label May 6, 2022
@NamJwong NamJwong requested review from aeuna and choiyoorim May 6, 2022 13:14
@NamJwong NamJwong self-assigned this May 6, 2022
@github-actions
Copy link

github-actions bot commented May 6, 2022

오늘도 할할놀놀을 몸소 실천 중인 웹파트원 ! 화이팅 :)
과제 레퍼런스 참고해서 빠트린 부분은 없는 지 체크해볼까요?

Copy link

@SeojinSeojin SeojinSeojin left a comment

Choose a reason for hiding this comment

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

수과셨습니당~! 당신은 짱비~

};

const getRoundText = () => {
if (round <= 4) return round === 4 ? '준결승' : '결승';

Choose a reason for hiding this comment

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

1강이랑 3강이 없는게 이 세상 사람이면 다 아는 사실이긴 한데 그래도 혹시 모르니까 switch case문으로 의미를 분명하게 해주시는 건 어떤가요?
2강이 결승인걸 모르는 사람이 세상에 있을 수 있는 것이니까요..

Choose a reason for hiding this comment

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

+useCallback 한번 써보시면 좋을듯 해용

Copy link

Choose a reason for hiding this comment

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

저도 처음에 round === 4 인걸 결승 조건으로 했는데, 혹시 나중에 게임 라운드 수가 많아지거나 적어졌을 때 바꿔줘야 하는게 걸리더라구요! 그래서 나중에 확장성을 고려한다면, 라운드 수가 많든 적든 공통적으로 적용시킬 수 있는 걸 파이널 조건으로 해주면 좋을 것 같습니당! 저도 이부분이 매우매우 고민되었어요 ㅠ

const choice = (direction: Direction) => {
if (!currentFighter) return;
if (round === fighterList.length) {
setWinnerList(() => [direction === 'LEFT' ? currentFighter.left : currentFighter.right]);

Choose a reason for hiding this comment

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

const currentWinner = direction === 'LEFT' ? currentFighter.left : currentFighter.right;

요거 하나 선언하고 가면 좋을 것 같아용
아님 아예 getCurrentWinner함수를 선언해도 좋을 것 같아용

if (currentFighter && fighterList.length === 0) {
goNextRound();
} else {
setCurrentFighter({ left: fighterList[0], right: fighterList[1] });

Choose a reason for hiding this comment

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

계속 배열 맨 앞에서 뽑는 것이죠?
배열 양끝 인덱스가 아닌 친구들은 굳이 접근할 필요가 없는 것 같네용?
스택 자료구조 써서 unshift같은 함수로 담는 것은 어때용?

Copy link

@aeuna aeuna left a comment

Choose a reason for hiding this comment

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

라우팅 처리하시고, ts 까지 적용하시다니 한 수 배워갑니다..!
3주차 과제 수고하셨습니당 👍

@@ -0,0 +1,8 @@
{
Copy link

Choose a reason for hiding this comment

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

prettier을 지정해준건가요? 오옹 좋습니다 👍
저도 나중에 시도해봐야겠어요!

@@ -0,0 +1,15 @@
import { Route, Routes } from 'react-router-dom';
Copy link

Choose a reason for hiding this comment

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

오 router 사용하셔서 구현하셨군요! 👍

@@ -0,0 +1,12 @@
import { default as 방청주영 } from '../assets/juyeong1.jpg';
Copy link

Choose a reason for hiding this comment

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

궁금한게 2가지 있습니다! :)
import juyeong1 from '../assets/juyeong1.jpg'; 이렇게 하지 않은 이유는 방청주영이라는 변수명으로 가져오기 위해서 인가요??
{ default as 방청주영 } 이건 ts 라서 이렇게 쓸수 있는 건가요?

};

const getRoundText = () => {
if (round <= 4) return round === 4 ? '준결승' : '결승';
Copy link

Choose a reason for hiding this comment

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

저도 처음에 round === 4 인걸 결승 조건으로 했는데, 혹시 나중에 게임 라운드 수가 많아지거나 적어졌을 때 바꿔줘야 하는게 걸리더라구요! 그래서 나중에 확장성을 고려한다면, 라운드 수가 많든 적든 공통적으로 적용시킬 수 있는 걸 파이널 조건으로 해주면 좋을 것 같습니당! 저도 이부분이 매우매우 고민되었어요 ㅠ

}
};

useEffect(() => {
Copy link

Choose a reason for hiding this comment

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

useEffect()는 컴포넌트내 여러개 선언할 수 있군요!
useEffect() 하나만 써야하는줄 알고 굉장히 애를 먹었었는데 몰랐던 점 알아갑니다!

);
}

const StGame = styled.div`
Copy link

Choose a reason for hiding this comment

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

styled-components를 Header, Img 등등.. 이런식으로 세분화하지 않고
으로 감싸서 & 로 해결하신 이유가 궁금합니다!!

@NamJwong NamJwong requested a review from KimKwon May 10, 2022 18:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3️⃣ 3주차 3주차 과제에요.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants