알고리즘 변경 (Substitute Algorithm)

1446 단어 리팩토링루비


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

목적



즉시 꺼낼 수 있도록

기본 작업 사이클


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

  • 인수 객체 도입(Introduce Parameter Object)이란?



    이해하기 쉬운 알고리즘으로 메소드 내용을 다시 작성하는 것

    포인트


  • 테스트에 대해 새로운 알고리즘을 실행하고 결과가 같아야합니다.
  • 구현시 신규 및 이전 결과 모두에 초점을 맞추고 테스트 케이스와 실패 간의 관계를 이해합니다.


    def members(people) 
      members = [] 
      people.each do |person|
        if (person == 'Luffy')
        end
        if (person == 'Zoro')
        end
        if (person == 'Sanji')
        end
      end
      members
    end
    

      ↓
    def members(people) 
      people.select do |person|
        %w(Luffy Zoro Sanji).include? person
      end
    end
    

    책 정보



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

    잡감



    단순한 알고리즘만으로 먼저 추출하여, 재기록시의 고려 범위를 한정적으로 한다.
  • 좋은 웹페이지 즐겨찾기