SOPT 30기 합동 세미나 5조
git flow 전략을 기반으로 개발 브랜치와 기능 브랜치를 두기로 함 (개발 브랜치-main)
커밋명 | 용도 |
---|---|
design | CSS 등 사용자 UI 디자인 변경 |
feat | 새로운 기능에 대한 커밋 |
style | 기능에 영향을 주지 않는 커밋, 코드 순서 등의 포맷에 관한 커밋 |
build | 빌드 관련 파일 수정에 대한 커밋 |
chore/doc | 그 외 자잘한 수정에 대한 커밋, 문서인 경우 doc 으로 작성 |
fix | 버그 수정에 대한 커밋 |
refactor | 코드 리팩토링에 대한 커밋 |
-
컴포넌트 선언 방식
export default function Temp() { return <div></div>; }
-
컴포넌트 선언 시, 일반 함수 사용
-
컴포넌트 외, 함수들은 화살표 함수를 사용
-
-
이벤트 핸들러 함수 네이밍
-
한 컴포넌트 내에서, 기능을 대표하는 이름으로 명명한다.
-
애매한 경우에는 handle ~ 로 시작한다.
-
prop으로 함수를 전달하는 경우에는 onClick~ , onChange ~ 로 명명한다.
// 부모 const openModal = () => {} <자식 onClickModalCancel={openModal}
-
-
컴포넌트 이름
- searchButton 식으로 명명한다. (btnSearch, buttonSearch, searchBtn ❌)
-
스타일드 컴포넌트
-
props 전달할 때 사용하는 인터페이스는 컴포넌트명 + Props로 선언한다.
interface CommonInputProps { width: string; errorMsg: string; } function CommonInput(props: CommonInputProps) { const { width, errorMsg } = props; ... }
2. 배열 이름은 **__List**로 명명한다. (userList, groupList, userDataList 등)
-
~~ Data❌ ~~info✅
-
useState의 set 함수를 자식 컴포넌트에서 사용하고자 할 시, set 함수를 prop으로 그대로 넘겨주지 않고 함수로 감싸서 보내주도록 한다.
- 이 함수를 prop으로 넘겨줄 때 prop이름은 이벤트 핸들러 처럼 onChange~, onClick~ 형식으로 명명한다.
-
-
그 외
-
스타일 관련 상수는 아래와 같이 작성하되, color.ts / button.ts 와 같이 파일을 나누어서 작성한다.
import { css } from 'styled-components'; export const Z_INDEX = { closeUp: 0, camOn: 10, camOff: 20, nickname: 25, question: 30, cheers: 40, modal: 50, updownNum: 55, toast: 60, }; export const FULL_WIDTH_BUTTON = css` width: 100%; height: 58px; border-radius: 14px; font-size: 16px; `;
-
asset => svg로 최대한 가져온다.
export { default as icPlus } from './ic_plus.svg'; export { ReactComponent as IcPlus } from './ic_plus.svg'; export { default as imgTeamProfile } from './img_team_profile.svg'; export { ReactComponent as ImgTeamProfile } from './img_team_profile.svg';
-
시멘틱 태그는 필요하면 유동적으로 사용한다.
-
스타일드 컴포넌트와 일반 컴포넌트는 한 파일에 작성한다.
-
폴더명은 소문자
-
상수는 대문자와 _ 로 단어 구분을 한다.
-
가장 바깥의 스타일드 컴포넌트는 StWrapper로 명명한다.
-
Wrapper✅ Container Box
-
팀원 | 역할 |
---|---|
남주영 | Board 페이지 |
이서영 | MyPage 페이지 |
이은아 | BoardForm 페이지 |