중복 조건 분기 조각의 통합

1544 단어 리팩토링루비


하나씩 리팩토링 기술 요약
개인적으로 간단하고 도입하기 쉽다고 생각하는 것으로부터

목적



즉시 꺼낼 수 있도록

기본 작업 사이클


  • 시스템을 움직여 사양을 조사
  • 테스트 방법 만들기
  • 테스트 실패 확인
  • 테스트 성공 확인
  • 작은 변경, 수시 테스트 실행 (패턴 추가 실패 확인 -> 성공 확인)
  • 마지막 테스트 실행
  • 마지막 동작 확인

  • 중복 조건 분기 단편 통합(Consolidate Duplicate Conditional Fragments)이란?



    여러 조건문에 공통으로 들어있는 처리를 외출하는 것

    포인트


  • 공통 처리가 들어있는 위치에 따라 절단 대상이 변경됩니다.
  • 여러 프로세스가 공통적 인 경우 메서드를 추출합니다.


  • 공통 처리가 조건문내의 말미(처음)에 있는 경우는 말미(서두)에 잘라낸다.
  • if tax?
      total = price * 1.08
      puts(total)
    else
      total = price
      puts(total)
    end
    

      ↓
    if tax?
      total = price * 1.08
    else
      total = price
    end
    puts(total)
    
  • 여러 프로세스가 공통적 인 경우 메서드를 추출합니다.
    if sunny?
      greet
      eat
      walk
    else
      greet
      eat
      drive
    end
    

      ↓
    def routine
      greet
      eat
    end
    
    routine
    if sunny?
      walk
    else
      drive
    end
    

    책 정보



    Jay Fields (저자), Shane Harvie (저자), Martin Fowler (저자), Kent Beck (저자),
    나가오 타카히로 (역), 리팩토링 : Ruby 에디션
    htps : // 아 mz 응. 및 / 2VlyWML

    잡감



    분리의 의미를 확실히 이해
  • 좋은 웹페이지 즐겨찾기