Repository navigation
DEV_SKM 리펙토링 컨벤션 #255
chaehun0i
started this conversation in
Decision Log
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
DEV_SKM 컨벤션
1. 공통 원칙
2. Backend 컨벤션
네이밍 규칙
변수 / 함수
프로젝트 내부 변수 및 함수는 camelCase를 사용한다.
Boolean 변수
is/has/can접두어를 사용한다.예외
Python 표준 라이브러리, 외부 라이브러리, DB 컬럼명, 환경설정 키 등은 원본 규칙을 따른다.
파일 및 폴더 규칙
파일
폴더
모듈화 규칙
파일 크기 규칙
API 계층 규칙
API 계층
Service 계층
Repository 계층
Repository 위치
RESTful API 규칙
HTTP Method
GETPOSTPUTPATCHDELETEURL
Response 규칙
모든 API 응답은 공통
ResponseModel을 사용한다.성공 응답
{ "status": true, "message": "조회 성공", "data": {} }실패 응답
{ "status": false, "message": "회사 정보를 찾을 수 없습니다.", "data": {} }응답 규칙
status필드를 사용한다. (success사용 금지)ResponseModel기준으로 통일한다.HTTP Status Code 기준
DELETE 규칙
물리 삭제를 지양하고 논리 삭제를 사용한다.
delete_yn = '0'isDeleted = TrueUtils 규칙
허용
공통 유틸 함수만 허용한다.
금지
비즈니스 로직은 Service 계층으로 이동한다.
3. Frontend 컨벤션
네이밍 규칙
변수 / 함수
camelCase를 사용한다.
파일
PascalCase, 단수형을 사용한다.
폴더
소문자, 복수형을 사용한다.
컴포넌트 규칙
공통 컴포넌트
2회 이상 재사용되는 컴포넌트는
components/에 위치한다.페이지 전용 컴포넌트
특정 화면에서만 사용하는 컴포넌트는 해당 페이지 내부에 위치한다.
파일 크기 규칙
분리 예시
Import 규칙
상대경로 사용을 최소화하고 Alias를 사용한다.
Alias 규칙
중분류 단위 기준으로 Alias를 정의하며,
vite.config.js기준으로 관리한다.Alias 목록
@reportssrc/homes/reports@componentssrc/components@hookssrc/hooks@utilssrc/utils@storessrc/stores4. 주석 규칙
"무엇을 하는지"가 아니라 "왜 하는지"를 작성한다.
5. 함수 작성 규칙
단일 책임 원칙
하나의 함수는 하나의 책임만 가진다.
6. AI / RAG
현재 구조를 유지한다.
7. 리팩토링 우선순위
utils/→repositories/)All reactions