함수 추출

대상: 코드 조각을 고유한 함수로 변환합니다.

시기: 다른 함수에서 호출해야 하는 일부 함수에 기존 코드 조각이 있습니다.

이유: 해당 코드를 복사하여 붙여넣을 수 있지만 중복이 발생합니다. 더 나은 솔루션은 다른 함수에서 호출할 수 있는 고유한 함수로 해당 조각을 리팩터링하는 것입니다.

방법:

  1. 추출할 코드를 강조 표시합니다.

    추출 중에 대한 준비를 강조 표시하는 다음 코드를 보여 주는 스크린샷. double area = M_PI * readious * radious;.

  2. 다음 작업 중 하나를 수행합니다.

    • 키보드
      • Ctrl+R을 누른 다음 Ctrl+M을 누릅니다. (바로 가기 키는 선택한 프로필에 따라 다를 수 있습니다.)
      • Ctrl+.를 눌러 빠른 작업 및 리팩터링 메뉴를 트리거하고 상황에 맞는 메뉴에서 함수 추출(실험적)을 선택합니다.
    • 마우스
      • 편집 > 리팩터링 > 함수 추출(실험적)을 선택합니다.
      • 코드를 마우스 오른쪽 단추로 클릭하고, 빠른 작업 및 리팩터링 메뉴를 선택하고, 상황에 맞는 메뉴에서 함수 추출(실험적)을 선택합니다.
      • 왼쪽 여백에 나타나는 전구. 아이콘을 클릭하고, 상황에 맞는 메뉴에서 함수 추출(실험적)을 선택합니다.
  3. 함수/메서드 추출(실험적) 창에서 새로운 함수 이름을 입력하고, 코드를 배치하려는 위치를 선택하고, 확인 단추를 클릭합니다.

    함수 이름을 사용하고 현재 함수 위 또는 아래에 함수를 만들지 여부를 나타내는 함수 추출 대화 상자의 스크린샷.

  4. 새 함수는 사용자가 지정한 위치에서 생성되고, 함수는 해당하는 헤더 파일에 프로토타입으로 지정되고, 원본 코드는 해당 함수를 호출하도록 변경됩니다.

    추출된 코드가 포함된 생성된 함수의 스크린샷. 정의는 void CalculateArea(double radius)입니다.