Eclipse를 사용한 코드 재구성 - Replace Temp with Query

1774 단어 eclipse재구성
Motivation
국부 변수는 코드를 추출하기 어려울 수 있으므로 가능한 한 그들을 조회식으로 바꿔야 한다.
또한 ReplaceTemp with Query도 Extract Method의 필수 단계입니다.
Mechanics
1 임시 변수가 여러 번 지정되면 Split Temporary Variable를 적용하여 새 변수마다 한 번만 지정되도록 여러 변수로 분할합니다.
2 모든 임시 변수에 대해 검색 함수를 추출한 다음에 대체한다.(쿼리 함수에 부작용이 있으면 Separate Query from Modifler를 다시 적용해야 함)
Eclipse refactor 메뉴에는 직접 해당되는 항목이 없습니다.
그러나 여전히 간단한 조합 [ExtractMethod] + [Inline]로 대응하는 재구성을 완성할 수 있다
//     ,      basePrice discountFactor       ReplaceTemp with Query
double getPrice() {
        final int basePrice = _quantity * _itemPrice;
        final double discountFactor;
        if (basePrice > 1000)discountFactor = 0.95;
        else discountFactor = 0.98;
        return basePrice *discountFactor;
    }

//선택quantity * _itemPrice, [Extract Method] 적용
double getPrice() {
        final int basePrice = basePrice();
        final double discountFactor;
        if (basePrice > 1000)discountFactor = 0.95;
        else discountFactor = 0.98;
        return basePrice *discountFactor;
    }
    private int basePrice() {
       return _quantity * _itemPrice;
    }
 
//basePrice를 선택하고 [Inline] 적용
    double getPrice() {
        final int basePrice = basePrice();
        final double discountFactor;
        if (basePrice() > 1000) discountFactor = 0.95;
        else discountFactor = 0.98;
        return basePrice() * discountFactor;
    }
    private int basePrice() {
        return _quantity * _itemPrice;
    }
유사한 것은discountFactor에 계속 위의 방법을 적용할 수 있는데, 여전히 마우스 오른쪽 + 왼쪽 키의 문제일 뿐이다.
관련 코드 패키지는 Here에서 얻을 수 있습니다. (업로드된 자원이 아직 갱신되지 않았습니다. 갱신 후 주소를 업데이트합니다.)

좋은 웹페이지 즐겨찾기