Skip to content

Convention

Cho Yoon Jin edited this page Feb 5, 2025 · 1 revision

✅ Github Convention

Branch

  • BrnchType/기능명#이슈번호: 새로운 기능 개발하는 브랜치 - 기능명 : 영어로
    ex) feat/홈화면#2
    ex) design/로그인#13
  • BranchType
    • main: 배포 가능한 브랜치
    • develop: 배포를 위해 개발하는 브랜치
    • feat : 기능 개발
    • fix : 버그 수정
  • Release : 태그로 관리

Issue

  • 이슈 제목 : [Type] 작업 내용
    ex) [Feat] 홈 스크린 구현

  • 이슈 템플릿

    📌 이슈 내용
    ------------
    이슈를 설명해주세요.
    
    📝 작업 내용
    ------------
    - [ ] 작업 1
    - [ ] 작업 2
    
    ✨ 참고 사항
    ------------
    
  • 담당자(Assignees) 설정하기

  • Labels 어떤 게 좋을까요?

    • Type
  • Projects 연결하기 (칸반보드)

  • Milestone 사용해서 일정 관리

Commit

  • 커밋 메시지

    Type/#이슈번호 : 작업 내용
    <BLANK LINE>
    <body> (상세 설명이 필요하다면)
    <BLANK LINE>
    
    ex)
    feat!/#2 : 홈 컴포넌트 수정
    
    홈 컴포넌트가 어쩌구 였는데 저쩌구로 변경하였습니다
    
    • 제목
      • 명령조, 현재 시제 사용
    • 내용 (body)
      • 필요한 경우에만 작성
      • 명령조, 현재 시제 사용

PR & Merge

  • PR 제목 : [#이슈번호] 작업 내용
    ex) [#2] 홈 스크린 구현

  • PR 템플릿

    ## #️⃣연관된 이슈
    
    - #294 
    
    ## 📝작업 내용
    
    - 
    
    ## PR 발행 전 체크 리스트
    
    - [ ] 발행자 확인
    - [ ] 프로젝트 설정 확인
    - [ ] 라벨 확인
    
    ## 스크린샷 (선택)
    
    ## 💬리뷰 요구사항(선택)
    
    - 리뷰어가 특별히 봐주었으면 하는 부분이 있다면 작성해주세요
      - 
  • Merge

    • Merge Message : 기본 메세지 사용
    • 2명 이상 approve시 merge 가능

Type

  • feat : 새로운 기능 구현
  • design : UI/UX 관련 변경 (색상, 레이아웃 변경 등) (ex. 버튼 색상 변경, 폰트 사이즈 변경)
  • fix : 버그, 오류 해결
  • docs : 문서 수정 (README, API 문서 등)
  • chore : 내부 파일 수정, 빌드 업무 수정, 패키지 매니저 수정 (CI/CD 관련도 포함), 코드 포맷팅
  • refactor : 코드 리팩토링 (기능 변경 없이 구조 개선)
  • test : 테스트 코드 추가/수정
  • del : 쓸모없는 코드 삭제

(총 8개)


✅ Coding Convention

소스 파일 이름

  • 규칙: 첫 글자 대문자
    예시: Books

패키지 이름

  • 규칙: 항상 소문자로 작성
    예시: book

Compose 함수

  • 규칙: 첫 글자는 대문자로 표기, 함수 이름은 명사/형용사 + 명사 형태
    예시:
    • @Composable fun RoundIcon()
    • @Composable fun NewsTextButton()

클래스, 객체 이름

  • 규칙: 대문자로 시작, 카멜케이스 사용
    • 해당 클래스가 무엇인지 설명하는 명사 또는 명사구로 구성
      예시: PersonReader

메서드

  • 규칙: 메서드, 속성, 지역 변수의 이름은 소문자로 시작하고 카멜케이스 사용 (밑줄 사용 금지)
    • 해당 메서드가 무엇을 수행하는지 설명하는 동사 또는 동사구로 구성
      예시:
    • fun countBooks()
    • var declarationCount = 1

속성

  • 규칙: 상수의 이름은 대문자, 밑줄로 단어 구분
    예시:
    • const val MAX_COUNT = 8
    • val USER_NAME_FIELD = "UserName"

Drawables

  • 형식: <WHAT>_<WHERE(기능)>_<DESCRIPTION>
    예시:
    • all_search
    • home_star

Strings

  • 형식: <WHERE>_<DESCRIPTION>
    예시:
    • all_title
    • home_namehint

Color

  • 형식: <WHAT>_<COLOR>_<SIZE>
    예시: text_black_medium