코드 : 생성자 아래Java : 한 클래스 만 새 클래스를 사용하는 경우 리팩토링/디커플링에 사용합니까?
public class Name {
private String[] name;
private String first;
private String middle;
private String last;
private String suffix;
public Name (String fullName) {
//Name is parsed in constructor
parse1();
parse2();
parse3();
//invoking more parse methods...
}
private void parse1() {}
private void parse2() {}
private void parse3() {}
//more parse methods...
그 방법은 fullName
을 구문 분석하는 데 도움. 이 parse#()
메서드를 다른 클래스로 옮기고 싶습니다. 예를 들어 NameHelper.class
을 만들고 거기에 모든 것을 넣으십시오. public static
하지만 내 안에는 다른 클래스가 아니기 때문에 리팩터링에 쓸모가 없다고 말하면 Name
이 사용하게 될 것입니다.
나중에 리팩터링하기를 원하기 때문에 이것은 단위 테스트에 정말로 어려울 것입니다. 하지만 난 항상 PowerMockito
을 사용하여 비공개를 테스트 할 수 있기 때문에 테스트를 희생하거나 나쁜 코드 리팩토링을 희생하고 싶지 않습니다.