inblog logo
|
keepgoing
    Project

    [Project] 팀플 규칙 ( 파일명 )

    김호정's avatar
    김호정
    Oct 09, 2024
    [Project] 팀플 규칙 ( 파일명 )
    Contents
    코드컨벤션(규칙)폴더명(서버)폴더명(mustache)파일명요약
     
     

    코드컨벤션(규칙)

    폴더명(서버)

    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
     
    notion image
     
     

    파일명

    • 클래스 이름 (ClassNames)
      • 파스칼 케이스(Pascal Case): 각 단어의 첫 글자를 대문자로 작성합니다.
      • 예시: MyClass, EmployeeManager, UserProfile.
    notion image
     
    • 메서드 이름 (methodNames)
      • 카멜 케이스(Camel Case): 첫 번째 단어는 소문자로 시작하고, 그다음 단어들은 첫 글자를 대문자로 작성합니다.
      • 예시: calculateSalary, getUserName, setAge.
    notion image
     
    • 상수 이름 (CONSTANTS)
      • 모든 글자를 대문자로 작성하고 단어는 언더스코어(_)로 구분합니다.
      • 예시: MAX_VALUE, PI, DEFAULT_TIMEOUT.
    notion image
     
    • 식별자 (IdentiFiers)
      • 카멜 케이스로 작성해야 하며, 이 식별자에는 메서드, 변수, 필드 등이 포함됩니다. 클래스 이름이나 상수와 같은 특별한 경우를 제외하고, 대부분의 식별자는 카멜 케이스를 사용합니다.
      • 예시: userName, orderId, totalAmount.
    • 변수 이름 (variableNames)
      • 지역 변수, 인스턴스 변수, 매개변수 이름 등은 모두 카멜 케이스로 작성합니다.
      • 예시: count, fileName, orderTotal.
     
    notion image
     
     
     
     

    요약

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

    keepgoing

    RSS·Powered by Inblog