Monday

1. 실무에서 자주 사용하는 Java 코딩 컨벤션 본문

언어/Java

1. 실무에서 자주 사용하는 Java 코딩 컨벤션

뉴비2 2024. 11. 10. 13:03

명명 규칙 (Naming Conventions)

기본 명명 규칙

클래스, 메서드, 변수의 이름은 그 용도를 명확히 표현해야 합니다.

클래스와 인터페이스

  • 명사로 시작하며 각 단어의 첫 글자는 대문자로 작성합니다
    public class StudentManager
    public interface PaymentProcessor

메서드

  • 동사로 시작하며 camelCase를 사용합니다
    public void executeTask()
    public void processPayment()

상수

  • 모두 대문자로 작성하며 단어 사이는 언더스코어로 구분합니다
    public static final int MAX_COUNT = 100;
    public static final String DEFAULT_PATTERN = "yyyy-MM-dd";

코드 구조화

메서드 설계

  • 하나의 메서드는 하나의 기능만 수행해야 합니다
  • 메서드의 매개변수는 4개 이하로 제한하는 것이 좋습니다
// 좋지 않은 예
public void processUserData(String name, int age, String address, 
    String phone, String email, String occupation) {
    // 너무 많은 매개변수
}

// 좋은 예
public void processUser(UserDTO userDTO) {
    // DTO를 사용하여 데이터 전달
}

들여쓰기와 공백

  • 들여쓰기는 4개의 공백을 사용합니다
  • 연산자 전후에는 공백을 넣어 가독성을 높입니다.
// 좋은 예
if (isValid && !isProcessed) {
    int result = value + 10;
    processResult(result);
}

실무 최적화 팁

객체 생성 최적화

  • 불필요한 객체 생성을 피합니다
  • 문자열 연결 작업이 많은 경우 StringBuilder를 사용합니다.
// 좋지 않은 예
String result = "";
for (int i = 0; i < 1000; i++) {
    result += data[i];
}

// 좋은 예
StringBuilder result = new StringBuilder();
for (int i = 0; i < 1000; i++) {
    result.append(data[i]);
}

조건문 작성

  • 복잡한 조건문은 가독성을 위해 괄호를 사용합니다
  • 중첩된 if문은 피하고 early return을 활용합니다.
// 좋지 않은 예
if (a == b && c == d || e == f) // 연산자 우선순위가 불명확

// 좋은 예
if ((a == b && c == d) || e == f) {
    // 명확한 조건 구분
}

주석 작성 가이드

  • 코드의 '왜'를 설명하는 주석을 작성합니다.
  • 메서드의 목적과 매개변수를 명확히 설명합니다.
/**
 * 사용자 결제 정보를 검증하고 처리합니다.
 * @param payment 결제 정보 객체
 * @return 결제 처리 결과
 * @throws PaymentException 결제 처리 중 오류 발생시
 */
public PaymentResult processPayment(Payment payment) throws PaymentException {
    // 구현
}
Comments