코드컨벤션(규칙)
폴더명(서버)
1. 주요 기능별 패키지 및 폴더 구성
1) 영화 관리 (movie)
- 역할: 영화 목록, 영화 상세 정보, 예고편, 상영 시간표 등을 관리합니다.
- 폴더 구조:
- shop.mtcoding.cinema.movie
- MovieController.java
- MovieService.java
- MovieRepository.java
- MovieRequest.java
- MovieResponse.java
- Movie.java
2) 예매 관리 (reservation)
- 역할: 영화 예매, 좌석 선택, 예매 내역 조회, 예매 취소 등을 관리합니다.
- 폴더 구조:
- shop.mtcoding.cinema.reservation
- ReservationController.java
- ReservationService.java
- ReservationRepository.java
- ReservationRequest.java
- ReservationResponse.java
- Reservation.java
3) 사용자 관리 (user)
- 역할: 회원가입, 로그인, 로그아웃, 사용자 정보 관리 등을 담당합니다.
- 폴더 구조:
- shop.mtcoding.cinema.user
- UserController.java
- UserService.java
- UserRepository.java
- UserRequest.java
- UserResponse.java
- User.java
4) 마이페이지 관리 (mypage)
- 역할: 사용자의 개인 정보, 예매 내역, 리뷰 관리 등을 담당합니다.
- 폴더 구조:
- shop.mtcoding.cinema.mypage
- MypageController.java
- MypageService.java
- MypageRepository.java
- MypageRequest.java
- MypageResponse.java
- Mypage.java
5) 결제 관리 (payment)
- 역할: 결제, 결제 수단 관리, 결제 내역 조회 등을 담당합니다.
- 폴더 구조:
- shop.mtcoding.cinema.payment
- PaymentController.java
- PaymentService.java
- PaymentRepository.java
- PaymentRequest.java
- PaymentResponse.java
- Payment.java
shop/ └── mtcoding/ └── cinema/ ├── movie/ │ ├── MovieController.java │ ├── MovieService.java │ ├── MovieRepository.java │ ├── MovieRequest.java │ ├── MovieResponse.java │ └── Movie.java ├── reservation/ │ ├── ReservationController.java │ ├── ReservationService.java │ ├── ReservationRepository.java │ ├── ReservationRequest.java │ ├── ReservationResponse.java │ └── Reservation.java ├── user/ │ ├── UserController.java │ ├── UserService.java │ ├── UserRepository.java │ ├── UserRequest.java │ ├── UserResponse.java │ └── User.java ├── mypage/ │ ├── MypageController.java │ ├── MypageService.java │ ├── MypageRepository.java │ ├── MypageRequest.java │ ├── MypageResponse.java │ └── Mypage.java └── payment/ ├── PaymentController.java ├── PaymentService.java ├── PaymentRepository.java ├── PaymentRequest.java ├── PaymentResponse.java └── Payment.java
폴더명(mustache)
1) 조회 페이지 폴더 (조회 기능을 위한 템플릿 파일)
- 목적: 이미 존재하는 데이터를 사용자에게 보여주는 템플릿을 저장하는 폴더입니다.
- 폴더명: views또는pages
- views/movies/: 영화 목록 및 상세 정보를 보여주는 템플릿 파일
- movie-list.mustache: 영화 목록 조회 페이지
- movie-detail.mustache: 영화 상세 조회 페이지
- views/reservations/: 예매 내역 조회 템플릿 파일
- reservation-list.mustache: 예매 내역 목록 조회 페이지
- reservation-detail.mustache: 예매 상세 정보 페이지
- views/users/: 사용자 정보 및 프로필 조회 템플릿 파일
- profile.mustache: 사용자 프로필 조회 페이지
- views/mypage/: 마이페이지 조회 템플릿 파일
- mypage-overview.mustache: 마이페이지 메인 화면 (개요)
- views/payments/: 결제 내역 조회 템플릿 파일
- payment-detail.mustache: 결제 상세 정보 페이지
2) 폼 페이지 폴더 (사용자 입력 폼을 위한 템플릿 파일)
- 목적: 사용자가 데이터를 입력하거나 수정할 수 있는 폼(양식)을 제공하는 템플릿을 저장하는 폴더입니다.
- 폴더명: forms
- forms/movies/: 영화 관련 폼 템플릿 파일
- movie-save-form.mustache: 영화 추가 폼 페이지
- movie-update-form.mustache: 영화 수정 폼 페이지
- forms/reservations/: 예매 관련 폼 템플릿 파일
- reservation-form.mustache: 영화 예매 폼 페이지
- forms/users/: 사용자 로그인 및 회원가입 폼 템플릿 파일
- login-form.mustache: 로그인 폼 페이지
- join-form.mustache: 회원가입 폼 페이지
- forms/mypage/: 마이페이지 관련 폼 템플릿 파일
- profile-edit-form.mustache: 사용자 프로필 수정 폼 페이지
- forms/payments/: 결제 관련 폼 템플릿 파일
- payment-form.mustache: 결제 정보 입력 폼 페이지
2. 템플릿 파일 이름 컨벤션
조회 페이지 템플릿 (Views)
- 영화 조회:
- movie-list.mustache: 영화 목록 조회 페이지
- movie-detail.mustache: 영화 상세 조회 페이지
- 예매 조회:
- reservation-list.mustache: 예매 내역 목록 조회 페이지
- reservation-detail.mustache: 예매 상세 정보 페이지
- 사용자 정보 조회:
- profile.mustache: 사용자 프로필 조회 페이지
- 마이페이지:
- mypage-overview.mustache: 마이페이지 메인 화면 (개요)
- 결제 조회:
- payment-detail.mustache: 결제 상세 정보 페이지
폼 페이지 템플릿 (Forms)
- 영화 폼:
- movie-save-form.mustache: 영화 추가 폼 페이지
- movie-update-form.mustache: 영화 수정 폼 페이지
- 예매 폼:
- reservation-form.mustache: 영화 예매 폼 페이지
- 사용자 로그인 및 회원가입:
- login-form.mustache: 로그인 폼 페이지
- join-form.mustache: 회원가입 폼 페이지
- 마이페이지 폼:
- profile-edit-form.mustache: 사용자 프로필 수정 폼 페이지
- 결제 폼:
- payment-form.mustache: 결제 정보 입력 폼 페이지
views/ ├── movies/ │ ├── movie-list.mustache │ ├── movie-detail.mustache ├── reservations/ │ ├── reservation-list.mustache │ ├── reservation-detail.mustache ├── users/ │ ├── profile.mustache ├── mypage/ │ ├── mypage-overview.mustache ├── payments/ ├── payment-detail.mustache forms/ ├── movies/ │ ├── movie-save-form.mustache │ ├── movie-update-form.mustache ├── reservations/ │ ├── reservation-form.mustache ├── users/ │ ├── login-form.mustache │ ├── join-form.mustache ├── mypage/ │ ├── profile-edit-form.mustache ├── payments/ ├── payment-form.mustache

파일명
- 클래스 이름 (ClassNames)
- 파스칼 케이스(Pascal Case): 각 단어의 첫 글자를 대문자로 작성합니다.
- 예시: MyClass,EmployeeManager,UserProfile.

- 메서드 이름 (methodNames)
- 카멜 케이스(Camel Case): 첫 번째 단어는 소문자로 시작하고, 그다음 단어들은 첫 글자를 대문자로 작성합니다.
- 예시: calculateSalary,getUserName,setAge.

- 상수 이름 (CONSTANTS)
- 모든 글자를 대문자로 작성하고 단어는 언더스코어(_)로 구분합니다.
- 예시: MAX_VALUE,PI,DEFAULT_TIMEOUT.

- 식별자 (IdentiFiers)
- 카멜 케이스로 작성해야 하며, 이 식별자에는 메서드, 변수, 필드 등이 포함됩니다. 클래스 이름이나 상수와 같은 특별한 경우를 제외하고, 대부분의 식별자는 카멜 케이스를 사용합니다.
- 예시: userName,orderId,totalAmount.
- 변수 이름 (variableNames)
- 지역 변수, 인스턴스 변수, 매개변수 이름 등은 모두 카멜 케이스로 작성합니다.
- 예시: count,fileName,orderTotal.

요약
- 카멜 케이스 (Camel Case): 메서드 이름, 변수 이름, 필드 이름, 식별자
- 예: userName,calculateSalary,totalAmount
- 파스칼 케이스 (Pascal Case): 클래스 이름
- 예: MyClass,EmployeeManager,UserProfile
- 대문자와 언더스코어 (UPPERCASE with UNDERSCORES): 상수 이름
- 예: MAX_VALUE,PI,DEFAULT_TIMEOUT
Share article