커피챗 때 질문할 리스트
- 팀협업 분담을 어떻게 해야하는가?
- 우선 기획 먼저!
- 크게는 페이지 단위로 역할 분담
- 만약 겹치거나 순서대로 진행해야 하는 상황일 경우, 먼저 작성한 사람이 PR을 올리면 다같이 코드리뷰 후 merge올려서 다음 사람이 작업
- 중요한 기능의 경우 (함수 단위)는 한 사람이 담당해서 작성
- 업무 분담 후 코드 작성 이전에 팀원들과 합의해야 할 점들
- 미리 다 정해둡니다. 네이밍 컨벤션, 코드 컨벤션, 브랜치 전략, PR작성하는 방법, 스프린트 회의 매일 업무 체크 등 다 정해두고 시작합니다.
- 네이밍 컨벤션
- 블리언
- is
- visible
- showing
- open
- isShowing
- 리스트
- postList
- posts
- 삭제
- delete
- remove
- 이벤트
- onClick, onBlur, onFocus
- handleClick, handleBlur, handleFocus
- 인풋
- input event
- input props
- 목록
- + s 붙여서 복수로 표현
- 현재 상태
- current +
- 백엔드 API에 따라서 네이밍 맞추기
예시
children: React.ReactNode;
defaultActive?: string;
label?: string;
labelColor?: string;
name?: string;
placeholder?: string;
size?: SelectSizeType;
borderType?: SelectBorderType;
block?: boolean;
disabled?: boolean;
align?: SelectAlignType;
loading?: boolean;
onChange?(value: string): void;
className?: string;
style?: React.CSSProperties;
labelClassName?: string;
labelStyle?: React.CSSProperties;
inputClassName?: string;
inputStyle?: React.CSSProperties;
일정 관리
- 한 주에 3-4번 자주 진행 상황 체크
- 한달 안에 해야 할 업무를 정리하고, 이것을 1주일 기준으로 작업 단위를 나눕니다. 그러고 매일 해야 할 업무를 우선순위 정해서 합니다.
- 일정이 늘어질 경우, 하위 기능을 제외하고 메인 기능으로 먼저 일정 맞추기
- 매일 각자의 할일 공유하기
- 마감 1-2일 정도 남겨서 애니메이션이나 인터랙션 디테일 살리기
- 마감 1주일 전부터 배포 준비하기 (가장 빠르게 할 수 있는 Vercel 추천)
git branch 는 어떤 방식으로 나눠서 작업하나요?
- main———-배포
- develop———-(a)———(b)———-(c)
- feature/home-page ———-⬆️(1) - HomePage 구현
- feature/my-page ———————⬆️(2) - MyPage 구현
- feature/header ——————-———-—⬆️(3) - Header 컴포넌트 구현
feature/ hotfix/ bugfix/ release
- feature, bugfix : develop에서 딴다.
- hotfix, release : main에서 딴다.
- hotfix가 완료되면, main, develop에 같이 머지한다.
release 버전
- release 0.0.1 : 로그인 인증 관련을 구현한다.
- release 0.0.2 : 로그인 한 사용자는 마이페이지에서 내 정보를 수정한다.
- release 1.0.0 : 사용자스토리 - 사용자는 ~~ 을 위해 ~~을 한다.
- main 브랜치는 배포할 때만 사용하기
- develop 브랜치에서 각자의 작업 브랜치 따서 작업하고 합치기
- 누군가 작업 중인 부분에 대해서 다른 사람이 작업해야 할 경우는, 작업하는 브랜치에서 브랜치를 따서 작업하기
- 다른 사람이 작업 후 commit을 날렸을 경우, 나의 작업 중인 브런치로 git pull해서 최신 커밋 반영한 상태로 작업 진행하기
- [커밋] 해야할 일을 작게 쪼개서 티켓으로 만들고, 티켓이 곧 커밋 단위가 됨.
git PR, 코드리뷰 등을 프로젝트에 활용할 수 있나요?
- develop에서 개인 작업 브랜치를 따서 작업하고, develop 브랜치로 PR올리기
- 1명이 PR올리면 나머지 두 명이 무조건 approve를 한 후 merge하기
- 외부 라이브러리 사용하는게 좋은지 직접 구현하는게 좋은지?
- 일정에 차질이 생길 경우, 외부 라이브러리를 활용하자
- 추가 기능을 구현해서 버그가 많이 생길 것 같으면 라이브러리로 대체하기
- 좋은 라이브러리란?
- 이슈가 최근에 해결되었는지
- 커밋이 최근에 있는지
- 스타 갯수
- 주로 쓰는 라이브러리들
- 스크롤
- 차트
- 캘린더/날짜
- luxon, datejs
회의 주기는 정기적 혹은 비정기적 어떤게 좋은지?
- 매일 짧게 스크럼 진행
- 오늘 할 일과 계획 공유
- 현재 진행 상황
- 안 풀리는 문제 공유
- 협업 툴
- postman??
- DBUI
- Figma
- 로직 구현 전에 컬러, 폰트 다 변수로 지정하고 컴포넌트 단위로 css로 다 지정하고 시작하는 게 좋은가요?? (자주 쓰는 버튼 같은 것들..)
- 디자인이 나와있다면 css로 다 지정해두고,
- 아닐 경우는 기능만 있는 컴포넌트를 만든 후 디자인 적용하기
- 최소 기능들만 정해서 type으로 만들어두기
- 같은 스타일이 2군데 이상에서 사용될 경우, 컴포넌트로 빼서 만들기
- Modal, Pagination은 컴포넌트로
- 구현해 볼 기능 스펙 리스트
- 목록페이지
- 상세페이지
- 추가하는 페이지
- 삭제
- 시스템 내에 있는 confirm
- 검색
- 수정
- 이미지 다운로드(라이브러리 사용 추천) - file-saver - optional
- 공유 (배포 된다면 링크복사공유 정도는 가능할듯)
- 로그인/로그아웃
- 마이페이지
- 모달/팝업
- 채팅 보단 comment 남기는 수준으로
- 프로필 사진 추가(무료 아바타 라이브러리 사용)
- 저장/좋아요
- 마지막 2일은 테스트하면서 애니메이션이나 인터랙션 디테일 살리기
- 테스트 및 버그 수정
- 추가 작업 마무리