논의할만한 사항
- PR 템플릿 / 이슈 템플릿을 정하나요?
- 코드 변경 이유 / 발견한 버그
- PR 설명 (코드 변경 내용 설명)
- 어떤 기능 추가
- 어떤 버그 수정
- 리뷰어가 집중하면 좋을 부분
- 관련 캡처
- 기타 현 PR에 대한 고민 사항 / 질문
- 이슈 / PR 라벨 추가 (큰 카테고리 정도)
- 기술 스택 확정
- Next.js 사용!
- 전역 state 우선 context api 관리하다가 커지면 redux 등 전역 라이브러리로 마이그레이션
- 프론트 노션 문서
- 에러 해결 모음
- 문제 사항을 해결할 때 마다 기록
- 스크럼
- 회의록과 별개로 스크럼에 대한 내용 저장
- 컨벤션
- 변수 네이밍
- 컴포넌트 이름 파스칼 케이스 (ComponentName)
- 상수 이름 대문자와 언더바 (MAX_NUMBER)
- 변수 이름은 카멜케이스 (name, myName)
- eslint
- airbnb
- 최종 프로젝트 임시 회의록 에 eslint 수정 제안 작성한거 있습니다
- 폴더 구조 (디자인 패턴)
- 깃 커밋 메시지
- feat
- fix
- style
- chore
- build
- 라이브러리 설치 관련
- css도 하나의 기능으로 보고 feat, fix
- console.log도 사용자 입장에서는 에러기 때문에 fix
- 깃 브랜치 전략
- 머지 전략
논의한 사항
- 이슈는 자유 (할 일 or 버그) / PR 템플릿은 프로그래머스 기본 PR 템플릿에 주석을 지워서 추가
- 코멘트 템플릿도 노션에 작성해서 가져오는걸로
- 동영 멘토님의 라벨중에서 규모, 브레이킹 체인지, 반복 빼고 나머지 모두 사용
- Next.js 사용합시다!
다음에 논의할 사항
- 폴더 구조 (디자인 패턴)
- 깃 커밋 메시지
- feat: 새로운 기능의 추가 + UI 스타일
- fix: 버그 수정, console.log, css 버그 수정
- docs: 문서 수정, 주석제거….
- Vscode 확장 ‘Comment Anchor’
- 커밋 메시지 제목에 ‘feat: 로그인 페이지 추가’, 내용에 ‘docs: TODO api 반영’ 처럼
- fmt: 코드 스타일 (세미콜론, 코드 수정이 안됐을 때, 공백)
- refactor: 코드 기능 수정 (변수명 수정, 컴포넌트 분리, 가독성 + 효율성이 향상되었을 때)
- test: 테스트 코트, 리펙토링 테스트 코드 추가
- build: eslint, prettier, 라이브러리..…
- 깃 브랜치 전략
- main / dev
- ex)
- #237/Feat/DummyData
- 76/Refactor/Card-to-BaseCardContainer
- 머지 전략
- approve 갯수
- all resolve
- 리뷰 댓글에 대해
- dev로는 그냥 merge / rebase 중에 선택
- release는 sqush
디자인

폴더구조 제안
- 라우팅은 기존 page 폴더에서 폴더 구조로 가져간다
- component폴더는 비슷하게https://github.com/cobaltinc/co-design/tree/main/packages/co-design-core/src/components/Affix 실시간으로 보고계쎳군요 ex> Affix폴더 아래
- index.ts
- Affix.tsx
- Affix.stoires.tsx
- style.tsx ⇒ tsx 문법을 활용하지 않아도 되면 ts로 변경
- 이런구조로
- CSS Wrraper / Container
- 첫 껍질은 Wrapper, 그 위부터는 Container
- Wrapper는 컴포넌트만 가능하고 Wrapper나 Container는 래핑할수없다
- Typescript
- type 네이밍 파스칼 케이스
- 객체는 Interface 권장
- defaultProps 사용 X, props에 기본값 지정 ⇒ eslint 룰 수정 필요
- "react/require-default-props": "off", eslint if 1줄일때 괄호 안쓰게끔
*전체 폴더 구조는
- nextjs제공 폴더 말고,
- components : 공통컴포넌트
- hooks: 커스텀훅
- utils : 리액트 라이브러리를 안쓰는 헬퍼함수들 ,
- feature 폴더에는 페이지에 종속된 컴포넌트 (1회성 컴포넌트)를 작성한다
- 스크럼을 통해 feature로 갈지, 페이지에 존재할지 결정
- 페이지에서 5개 컴포넌트를 렌더링 하더라도 짧으면 이해가 쉽고, 2개를 렌더링하더라도 1개가 길면 복잡해서 분리가 좋을듯하다