# 라이트하우스 프론트앤드 개발팀 ### 코딩 컨벤션 * ES6 문법 * 변수명 규칙 * 카멜케이스 * 영어(패밀리노트만) * 신규 혹은 기존 라하 프로젝트는 알잘딱 섞어서 * 타입스크립트 * 타입 정의 * 타입이 객체 또는 배열일 경우 interface * 데이터명 + CRUD * ex) CenterAnnouncePostResponse, CenterAnnouncePostRequest * 타입이 객체 또는 배열이 아닐 경우 type * 폴더 구조 * 기능 단위로 구분하여 정의(메뉴에 나오는 기능) * 홈, 알림장, 공지사항, 요청 등등 * 리액트 * React 엘리먼트들은 구조분해 할당으로 가져오기 * ex) import { useState } from 'react' * 함수 * 화살표 함수 * Props 네이밍 * 컴포넌트명 + props * props 타입명 OR props 데이터 * 파일 네이밍 * 대문자 시작 * 카멜케이스 ### 커밋 메세지 * 커밋 메세지는 한글로 통일 * ~~GitMoji~~ > [name=Taehyun Kim 2023.08.02 깃모지 사용 중단] [이전 깃모지 사용 방식 정리 doc](https://docs.google.com/document/d/1mCBngKSR0Y9aBlSCC3pWx-An2I5hNzx5SSkjmQ3raHQ/edit) * 커밋 헤더 컨벤션 * [버그] * [기능] * [기능 추가] => 신규 기능 추가 * [기능 수정] => 리팩토링이 아닌 요구사항이 변동되거나 잘못 개발된 기능 수정 * [기능 삭제] => 더 이상 사용하지 않는 기능 삭제 * [폴더, 파일] * 추가, 수정, 삭제, 이동 * [UI] * 추가, 수정, 삭제 * [API] * 추가, 수정, 삭제 * [코드] * [코드 추가] => 주석 추가, 타입과 같은 코드? * [코드 수정] => 주석 수정, 코드 리팩토링 * [코드 삭제] => 불필요한 주석, console 등 dead code에 해당 * [배포] * Release 운영 배포 시 사용 * [패키지] * 라이브러리 설치, 버전 업그레이드, 다운그레이드, 삭제 * [병합 이슈 해결] * merge 이후 conflic 해결 시 사용 * [최신화] * 브랜치 최신화 할 때 사용 * [QA] * QA 수정사항 ### 커밋 * 하나의 기능에 한 커밋 * 추후에 문제가 발생하면 조금 더 작게 쪼개는걸로 ### 코드 리뷰 * 시간나는대로 * 꼭 더 나은 코드 제시가 아닌 질문도 괜찮을 듯 ### 브랜치 전략 * 데일리북 * main(운영기) * develop(개발기) * 로컬 개인 작업 브런치 * 신규 기능 * develop에서 브랜치 생성 * feature/_main * feature/작업명/_작업자 * 운영 유지보수 * develop에서 브랜치 생성 * service/_main * service/작업명/_작업자 * 마이그레이션 * develop에서 브랜치 생성 * migration/_main * migration/컴포넌트/_작업자 * QA * develop에서 브랜치 생성 * qa/_main * qa/작업명/_작업자 * HOTFIX * main에서 브랜치 생성 * HOTFIX/_main * HOTFIX/작업명/_작업자 * 로컬 -> develop PR 작성 * develop -> Release.YYYY.MM.DD 브랜치 생성 -> main PR 작성 ### PR * 템플릿 * CMS부터 각자 브랜치에서 작업 후 CMS 메인 브랜치로 PR * 리뷰어는 각자 알아서 * merge는 confilct 안나면 바로 * > [name=Taehyun Kim 2023.08.02 데일리북] * 데일리북 PR 템플릿 사용 * PR 제목 * 배포 관련만 대괄호로 개발기인지, 운영기인지 표시 * 기타 PR은 작업 내용을 제목에 적는다 * Reviewers : 김태현 * Assignees : 작업자 이외 * 리뷰어 참고사항 * 간단한 작업, 리뷰가 불필요 할 경우 불필요하다고 Assingees에 지정된 사람에게 알려준다. * 수정사항 * 코멘트에 전부 답글 형식으로 ### 테스트 * 한번에 모든곳에 적용보단 지금 개발하는곳에만 혹은 버그가 발생 할 경우 * 스터디 * 알림톡이랑 어드민 끝나면 ### 주석 * 추후 리팩토링 필요할거같은 코드 * 주요 api * 화면 위치 ### 리팩토링 * 하고싶다..