메서드 인라인화(Inline Method)

1428 단어 리팩토링루비


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

목적



즉시 꺼낼 수 있도록

기본 작업 사이클


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

  • 메서드 인라인화(Inline Method)



    호출자의 메서드를 호출자에게 내장하고 호출하는 메서드를 삭제합니다.
    방법 추출의 역

    포인트


  • 실제 처리와 추출 된 메소드 이름이 똑같이 이해하기 쉽습니다

  • 메소드 객체에 갖고 싶은 동작을 구현하는 메소드의 호출을 인라인하는 경우가 많습니다.
  • 메소드가 폴리 모픽 인 경우는 할 수 없다 (오버라이드 메소드를 지우기 때문에)


    def evaluation
      output ? 'Success' : 'Failed'
    end
    
    def output
      @wrote >= 3
    end
    

      ↓
    def evaluation
      @wrote >= 3 ? 'Success' : 'Failed'
    end
    

    책 정보



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

    잡감



    이해하기 쉬운 기준에 따라 잘라야하는지 인라인해야하는지 판단하는 것은 다릅니다.
    컨텍스트가 되는 표현에 가까운지 점차 느껴진다
    기본적으로 추출 단계에서 인라인을 고려해야합니다.
  • 좋은 웹페이지 즐겨찾기