잘못된 예제
public class PatternUtil {
private static final String PATTERN =
"\\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}\\b";
public static boolean isEmailValid(String email) {
return email.matches(PATTERN);
}
public String getPattern() {
return PATTERN;
}
}
isEmailValid()
를 만든 개발자가 퇴사를 하고 후에, 다른 개발자가 getPattern()
을 만들어 인스턴스화를 해버리려는 상황이 발생할 수 있다. private PatternUtil(){}
로 private 생성자를 만들어 이런 상황을 방지해야한다.
인스턴스화가 필요없는 클래스는 생성자를 막도록 하자
생성자를 막지 못하는 경우(Spring Bean)으로 사용하는 경우는 주석이라도 달자.
Util성 클래스는 private
생성자를 사용하여 나 이외의 개발자에게 알려주자.
협업의 시작은 이 사소한 행동부터 시작된다.