3

Visual Studio에서 "Extract Method"리팩터의 반대 작업을 수행 할 수있는 방법이 있습니까?Extract Method 리팩토링의 반대편

저는 약 50 개의 매우 짧은 개인 함수가 각각 한 번만 사용되는 레거시 코드베이스를 가지고 있으며 인라인으로 작업해야합니다.

자동 인라인 리팩터링이 불가능할 경우 이러한 함수 호출을 인라인하는 데 걸리는 시간을 줄일 수 있습니까? 현재 워크 플로우 :

  • 함수의 코드를 복사하십시오.
  • 어디서 호출되는지 찾으십시오.
  • 함수 호출을 복사 된 코드로 바꿉니다.
  • 함수의 지역 변수 이름을 바꿉니다.
  • 함수를 삭제하십시오.

답변

5

찾고있는 리펙토링을 "Inline Method"이라고합니다.

Visual Studio에서는이 리팩터링을 기본적으로 제공하지 않지만 Visual Studio 용 Jetbrains ReSharper 확장을 설치하면이 리팩토링에 액세스 할 수 있습니다.

확장 프로그램이 설치된 상태에서 메서드 선언 또는 메서드 호출을 클릭하고 'Inline Method' 리팩터링을 호출하면됩니다. 이렇게하면 자동으로 메소드의 모든 발생을 인라인하고 삭제합니다.

-1

함수를 헤더 파일로 수집하여 inline으로 꾸밀 수 있습니다. 나는 이것이 당신이 물어 본 것에 대한 답이 아니라는 것을 깨닫고 있지만, 컴파일러가 인라이닝을 수행 할 수 있기 때문에 문제에 대한 더 나은 해결책이 될 수 있습니다.

상황에 따라 다르지만 함수 정의를 유지하면 코드가 명확해질 수 있으므로 한 번만 호출해도 가치가있을 수 있습니다.

이 방법은 수동 "인라인 방법"리팩토링보다 빠르고 오류가 발생하기 쉽습니다.