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

[문서] 컨벤션 정하기 (커밋, 변수명 등) #1

Open
joong8812 opened this issue Jul 21, 2022 · 0 comments
Open

[문서] 컨벤션 정하기 (커밋, 변수명 등) #1

joong8812 opened this issue Jul 21, 2022 · 0 comments
Assignees
Labels
✅ 회의 회의가 진행된 후 정해진 안건 관련 라벨 ❕중요 중요한 이슈 체크 📖 문서 문서 관련 라벨

Comments

@joong8812
Copy link
Contributor

joong8812 commented Jul 21, 2022

🌟 커밋 컨벤션

✨ feat: 파일, 폴더, 새로운 기능 추가
🐛 fix: 버그 수정
💄 style: 코드 스타일 변경 + UI 변경
📝 docs: 문서 생성, 추가, 수정 README.md
♻️ refactor: 코드 리팩토링
💩 chore: 수정 (JSON 데이터 포맷 변경 / css 변경 등)

🌟 코딩 컨벤션

📁 디렉토리 구조

  • @types
  • pages
  • components
  • constants (상수)
  • utils (서비스 로직)
  • api
  • hooks
  • style
  • assets

파일명

공통 컴포넌트는 @#$.tsx
페이지 컴포넌트는 페이지명 > @#$.tsx

Function

// rafce
import React from 'react'

const Untitled-1 = () => {
  return (
    <div>Untitled-1</div>
  )
}

export default Untitled-1
// React.FC (X))
const Slide = ({ movies }: SlideProps) => {
}

Variable

  • 카멜 케이스
const passwordErrorMsg = 'hello';

url = ''
// 타입 추론을 사용하여 url = ''

date: string[] = [];

Contant

  • 전체 대문자, _로 구분
// 비밀번호 검사 관련
export const PASSWORD_ERROR_MSG = [
  '비밀번호는 8글자 이상',
  '영문 대문자 최소 1글자 이상 포함',
  '특수문자 최소 1글자 이상 포함',
];

Interface

  • 사용처: 객체 타입 정의
  • props 의 Interface 를 선언할때 : [컴포넌트명]Props ( ex : ChatProps )
  • props 의 Interface 의 경우 해당 컴포넌트 파일 상단에 Interface 정의
  • 기본 Interface 의 경우 : [이름]Interface ( ex: UserInterface )
  • 앞글자는 대문자로
interface MovieProps {
    id: string;
    title: string;
    year: string;
    type: 'movie' | 'series';
    poster: string;
    like: boolean;
  }

Type

  • 사용처: 단일 타입 정의
  • 앞글자는 대문자로
type MovieType = 'movie' | 'series';

CSS

  • 폰트 단위: rem

🌟 이슈

  • 기능 추가 전 어떤 식으로 작업할 지 정리 및 팀원들에게 하고 있는 일 알림

🌟 브랜치

  • develop 브랜치가 기본 브랜치로 pr 보낼 때 main 브랜치가 아닌 develop 브랜치
  • 기능 추가의 경우 feature/ 를 붙이고 그 뒤에 소문자로 브랜치이름을 작성
  • 단어를 두개이상 써야하는 경우에는 대시(-)로 구분

ex) feature/login-page , feature/main-page, style/font, refactor/modal

@joong8812 joong8812 added 📖 문서 문서 관련 라벨 ✅ 회의 회의가 진행된 후 정해진 안건 관련 라벨 ❕중요 중요한 이슈 체크 labels Jul 21, 2022
@areumsheep areumsheep pinned this issue Jul 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✅ 회의 회의가 진행된 후 정해진 안건 관련 라벨 ❕중요 중요한 이슈 체크 📖 문서 문서 관련 라벨
Projects
None yet
Development

No branches or pull requests

2 participants