명명 패턴 : 변수, 메서드, 클래스 등의 이름을 일정한 패턴에 따라 지정하는 방법. 이는 주로 코드의 가독성을 높이고 일관성을 유지하기 위해 사용된다.
예를 들어, 다음과 같은 명명 패턴이 있을 수 있습니다:
- 변수 이름에는 camelCase를 사용: myVariable, totalAmount, userName 등
- 메서드 이름에는 동사로 시작하여 동작을 나타냄: calculateTotal(), getUserInfo(), sendMessage()
- 클래스 이름은 대문자로 시작하는 CamelCase를 사용: MyClass, UserInfo, HttpRequest 등
import java.lang.annotation.*;
// 애너테이션 정의
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface Test {
// 기본값을 설정하여 필수적으로 값을 지정할 필요가 없도록 함
String value() default "";
}
public class MyClass {
// 애너테이션을 사용하여 테스트 메서드로 지정
@Test("This is a test method")
public void testMethod() {
// 테스트 로직
}
// 테스트 메서드가 아닌 경우
public void normalMethod() {
// 일반 메서드 로직
}
// 애너테이션이 없는 경우
public void anotherMethod() {
// 다른 메서드 로직
}
}
핵심 정리 : 애너테이션으로 할 수 있는 일을 명명 패턴으로 처리할 이유는 없다.
'이펙티브 자바' 카테고리의 다른 글
[이펙티브 자바] 아이템 41. 정의하려는 것이 타입이라면 마커 인터페이스를 사용하라 (0) | 2024.04.11 |
---|---|
[이펙티브 자바] 아이템 40. @Override 애너테이션을 일관되게 사용하라 (0) | 2024.04.09 |
[이펙티브 자바] 아이템 38. 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라 (0) | 2024.04.08 |
[이펙티브 자바] 아이템 37. ordinal 인덱싱 대신 EnumMap을 사용하라 (0) | 2024.04.06 |
[이펙티브 자바] 아이템 36. 비트 필드 대신 EnumSet을 사용하라 (0) | 2024.04.05 |