나는 메소드를 짧게 유지하는 것에 대해 많은 것을 듣고 많은 프로그래머들이 메소드 내에서 #region 태그를 사용하는 것이 너무 길어서 여러 메소드로 리팩토링되어야한다는 확실한 신호라고 들었다. 그러나 메소드 내에서 #region 태그로 코드를 분리하는 것이 여러 메소드로 리팩토링하는 우수한 솔루션 인 경우가 많이 있습니다.
계산을 세 개의 별개의 단계로 분리 할 수있는 방법이 있다고 가정합니다. 또한 이러한 각 단계는 이 방법 의 계산에만 관련 되므로 새로운 방법으로 추출하면 코드를 재사용 할 수 없습니다. 그렇다면 각 단계를 자체 방법으로 추출하면 어떤 이점이 있습니까? 내가 알 수있는 한, 우리가 얻는 모든 것은 가독성과 각 단계에 대한 별도의 가변 범위입니다 (특정 단계의 수정이 실수로 다른 단계를 파괴하지 않도록 도와줍니다).
그러나 각 단계를 자체 방법으로 추출하지 않고도이 두 가지를 달성 할 수 있습니다. 지역 태그를 사용하면 코드를 읽을 수있는 형식으로 축소 할 수 있으며 (코드를 확장하고 검사하기로 결정한 경우 더 이상이 파일에서 자리를 떠날 필요가 없다는 추가 이점이 있음) 각 단계를 {}
작업 할 자체 범위를 만듭니다.
이 방법으로 얻는 이점은 실제로 네 번째 방법의 내부 작업에만 관련된 세 가지 방법으로 클래스 수준 범위를 오염시키지 않는다는 것입니다. 긴 메소드를 일련의 짧은 메소드로 즉시 리팩토링하는 것은 조기 최적화와 동등한 코드 재사용과 같습니다. 많은 경우에 발생하지 않는 문제를 해결하기 위해 추가 복잡성을 도입하고 있습니다. 나중에 코드 재사용 기회가 발생하면 언제든지 단계 중 하나를 자체 방법으로 추출 할 수 있습니다.
생각?
#region
태그를 싫어할뿐만 아니라 Visual Studio에서 코드 접기를 모두 해제합니다. 나에게서 숨기려고하는 코드가 마음에 들지 않습니다.