1. 네이밍 규칙
// 클래스명: PascalCase
public class MemberService { }
// 변수명, 메서드명: camelCase
private String memberName;
public void findMember() { }
// 상수: UPPER_SNAKE_CASE
public static final int MAX_SIZE = 100;
// 패키지명: 소문자
package com.projectname.domain.member;
2. 클래스 구조 순서
public class Member {
// 1. static 변수
private static final String DEFAULT_ROLE = "USER";
// 2. instance 변수
private Long id;
private String name;
// 3. 생성자
public Member() { }
// 4. 정적 메서드
public static Member createMember() { }
// 5. 일반 메서드
public void updateName() { }
// 6. getter/setter
// 7. equals, hashCode, toString
}
3. 메서드 규칙
- 한 메서드는 하나의 기능만 수행
- 메서드 길이는 20줄 이내 권장
- 파라미터는 3개 이하 권장
4. 공백 규칙
// 연산자 전후 공백
int sum = a + b;
// 콤마 뒤 공백
method(param1, param2, param3);
// 제어문 키워드 뒤 공백
if (condition) { }
for (int i = 0; i < 10; i++) { }
5. import 규칙
6. 주석 규칙
/**
* 클래스, 메서드 설명은 JavaDoc 사용
* @paramname 파라미터 설명
* @return 반환값 설명
*/
public String getName(String name) {
// 구현부 주석은 한 줄 주석 사용
return name;
}
7. 예외 처리
- 구체적인 예외 타입 사용
- 예외 메시지 포함
- catch 블록 비워두지 않기
8. DTO 네이밍
// 요청 DTO
public class MemberCreateRequestDto() { }
public class MemberUpdateRequestDto() { }
// 응답 DTO
public record MemberResponseDto() { }
public record MemberDetailResponseDto() { }