프로그램 작성규칙 및 명명규칙

TopOfTheHead·2025년 7월 26일

CS/웹 관련 공부

목록 보기
5/7
  • 프로그램 코드 작성요령

  • 주석을 적절하게 작성
    。꼭 필요한 곳에 의미를 잘 전달할 목적으로 충분한 설명을 하되 너무 장황하지 않도록 작성.

  • Indent( 들여쓰기 )를 일관성 있게 지킨다.
    。보통 2글자 크기.
    ▶ 한번의 tab으로 정의

Spring 관련 명명규칙
구현체는 이름 뒤에 Impl을 붙이는게 관례

AOP는 이름 뒤에 AOP를 붙이는게 관례

Test Class는 이름 뒤에 Test를 붙이는게 관례

메서드명은 의미를 내포하여 작성
ex ) 객체 반환 : getUser() , 리스트 반환 : getUsers()

테스트코드 관련 명명규칙
영속성 컨텍스트저장된 객체의 경우 saved 키워드 작성
ex ) savedUser

MVC 관련 명명규칙
Controller , Repository, Service, DTO 역할의 클래스는 각각 패키지로 구분하여 정리
패키지명소문자로 작성

  • Controller
    。모든 데이터를 조회하여 반환하는 Controller 메서드명search()로 지정

Enum 관련 명명규칙
Enum으로 상태에 대한 상수를 작성 시 과거형으로 작성

@Getter
@RequiredArgsConstructor
public enum OrderStatus {
	PENDING("결제대기"),
	COMPLETED("결제완료"),
	CANCELLED("주문취소"),
	SHIPPED("배송중"),
	DELIVERED("배송완료"),
	CONFIRMED("구매확정");
	private final String description;
}

URL 엔드포인트 명명규칙
。특정 Resource를 조작하기 위한 URL 패턴

users백엔드 기준 도메인( = 비즈니스 모델 )인 user에서 복수로 표현가능하므로 관례적으로 users로 설정

GET /api/users : 모든 사용자 조회
GET /api/users/{id} : 특정 사용자 조회
POST /api/users : 새로운 사용자 생성
PUT /api/users/{id} : 특정 사용자 정보 전체 수정
PATCH /api/users/{id} : 특정 사용자 정보 일부 수정
DELETE /api/users/{id} : 특정 사용자 삭제
GET /api/users/{id}/posts : 특정 사용자와 연결된 모든 게시물 검색
POST /api/users/{id}/posts : 특정 사용자와 연결된 게시물 생성
GET /api/users/{id}/posts/{post_id} : 특정 사용자와 연결된 특정 게시물 검색

API 관련 명명규칙 URI
API를 사용 시 관례적으로 URI/api/자원명으로 시작하도록 설정

백엔드 기준의 도메인( = 비즈니스모델명 )을 서버 API URIpath명칭으로 지정
비즈니스모델명 : user, notice, product, stock, ...
ex ) 서버 어플리케이션자원 접근 시 localhost:8080/api/users으로 자원에 접근하도록 API를 구성
user등의 도메인의 경우 복수형( users )로 설정

프로그래밍 명명법 ( Naming Convention ) :
Class : 파일명과 동일해야한다.
package : 모두 소문자 사용하며 기업의 경우 도메인명이 겹치지 않기 위해 거꾸로 적는 경우도 존재
ex ) com.company.project.service , ...

  • PastelCase :
    대문자로 시작하며 합성어일 경우 각 단어의 시작을 대문자로 설정.
    Class, Interface에 적용.
    ex ) SimpleCalculator

    클래스명은 보통 명사를 사용.
    인터페이스명은 보통 형용사를 정의
    ex ) Comparable

  • CAPITAL :
    。모두 대문자로 작성하고 합성어인 경우 사이에 _를 포함
    상수의 이름으로 설정
    ex ) DEFAULT_VALUE

  • camelCase :
    소문자로 작성하고, 합성어일 경우 그 다음 단어 시작을 대문자로 설정.
    field명, method에 적용

    Method명은 보통 동사를 사용
    field명은 보통 명사를 사용.

    Spring ContextSpring Bean을 추가 시 해당 명명규칙으로 등록
    ex ) sum , sumScore

  • snake_case
    。모두 소문자로 작성하고 합성어인 경우 사이에 _를 포함
    JSON 파일명으로 지정

  • kebab-case :
    。모두 소문자로 작성하고 합성어인 경우 사이에 -를 포함
    URI, css 속성명, http header명, Git Repository 등에 사용

변수식별자( Identifier ) 명명 권고사항
。 변수가 가지는 의미를 잘 전달하도록 명명.

  • 문자 , $ , _ , 숫자를 변수이름으로 설정 가능
    변수명은 문자로 시작하는게 좋다.
    ▶ 숫자로 시작할 수 없으며 _로 시작하는건 권장하지 않는다.

    。특수문자들은 변수명으로 사용하지 않는게 좋다.

    변수명에는 공백이 들어갈 수 없다.

    변수명을 대문자로 짓지않는게 좋다.
    ▶ 대문자는 보통 상수명으로 활용되므로.

  • 예약어( reserved words )는 변수명으로 활용할 수 없다.
    _에약어로 설정 시 identifier로서 명명이 가능하나, 권고하지 않는다.

    예약어 : 컴파일러에서 미리 정의된 예약식별자로서 모두 소문자로 구성.
    ex) break , catch

구분자

  • 중괄호 : Brace { } :
    Class , Method , 반복문 등에서 코드Block을 한정 시 사용.

  • 소괄호 : Parenthesis ( ) :
    MethodMethod 호출부의 매개변수( argument )정의 시와 반복문에서 사용.

  • Semicolon ; :
    。문장을 마침

  • Comma , :
    Method의 매개변수를 구분 시 사용.

  • Period . :
    ClassMethod, ObjectMember variable, Method를 지칭 시 사용.

  • Placeholder : < >
    Generic 등을 구현 시 Type을 지정하는 용도.
profile
공부기록 블로그

0개의 댓글