코드 스타일

ReSharper는 코드 베이스 전체에서 일관된 코드 스타일을 유지하도록 도와줍니다. 기본 스타일 설정은 널리 받아들여지고 있는 규칙 및 모범 사례를 기반으로 하지만 개인의 선호나 회사 표준과 다를 경우, 전체적으로 또는 솔루션에 따라 스타일을 설정하고 팀 전체에서 설정을 공유할 수 있습니다.

코드 스타일 환경 설정은 ReSharper가 코드 완성에서 심볼 이름을 제안하고, 새 멤버를 생성하고, 코드 템플릿을 적용하고, 리팩터링을 수행할 때 반영됩니다.

코드 검사에서 코드 스타일 위반이 탐지되면, 빠른 수정 또는 코드 정리를 이용해 문제를 해결할 수 있습니다.

코드 정리를 적용하여 코드 스타일 설정을 강제

코드 정리

코드 정리는 하나 이상의 파일, 프로젝트 또는 전체 솔루션에서 코드 스타일 위반을 즉시 없앨 수 있는 기능으로, Ctrl+E, C 단축키 하나로 실행할 수 있습니다.

2가지 기본 프로파일인 Full Cleanup(전체 정리)(이름 지정 스타일을 제외한 모든 코드 스타일 설정을 적용) 및 Reformat Code(코드 서식 재지정)(서식 지정 규칙만 적용)는 사용자 지정 작업별 프로파일로 보완됩니다.

현재 선택한 코드의 서식 재지정

코드 서식 지정

ReSharper는 사용자의 선호도에 따라 현재 파일, 디렉터리의 모든 파일, 심지어 전체 프로젝트 또는 솔루션의 모든 코드나 임의로 선택한 코드 블록의 서식을 다시 지정할 수 있으며 지원되는 모든 언어에 탁월한 서식 지정 옵션을 제공합니다. 서식 재지정은 괄호 레이아웃, 빈 줄, 줄 바꿈 및 행 바꿈, 다양한 문맥에서의 공백, 들여쓰기, 여러 구문의 정렬 등, ReSharper 옵션 대화상자에서 세세하게 조정할 수 있는 다양한 옵션에 영향을 줍니다.

서식을 다시 지정해야 하는 코드에서 Alt+Enter를 누르면 서식 지정 규칙에 대한 컨텍스트 구성을 이용할 수 있습니다. 코드에 영향을 주는 모든 서식 지정 규칙을 보려면 액션 목록에서 Format Selection(선택 항목 서식 지정) | Configure(구성)를 선택하세요.

또한 코드 정리를 사용해 코드 서식을 다시 지정할 수도 있습니다.

명시적 유형을 'var' 키워드로 대체

묵시적/명시적 유형 지정

C# 3.0에 도입된 묵시적 유형의 지역 변수(var 키워드) 사용은 결과 코드의 가독성을 향상해주어 큰 인기를 끌어왔습니다. ReSharper 역시 기본적으로 var 키워드 사용을 권장합니다.

그러나 환경 설정을 변경하여 명시적 유형을 사용하도록 설정할 수도 있습니다.

또한 코드 정리를 사용해 묵시적/명시적 유형에 대한 환경 설정을 적용할 수 있습니다.

자동 속성 빠른 수정 사용

자동 속성 사용

자동 구현된 속성(자동 속성이라고도 함)을 사용하면 추가 논리를 포함하지 않은 유형 지정된 속성을 더 간단하게 선언할 수 있습니다. 기본적으로 ReSharper는 가능하면 자동 속성을 사용할 것을 권장하지만, 이 동작은 구성할 수도 있습니다.

빠른 수정 또는 코드 정리를 사용하면 지원 필드를 포함한 프로퍼티를 자동 프로퍼티로 변환할 수 있습니다.

빠른 수정을 사용해 필드를 읽기 전용으로 설정

C# 한정자의 스타일

유형 및 유형 멤버의 C# 한정자는 어떤 순서로든 작성할 수 있지만 코드 가독성을 위해 코드 전체에서 유사한 방식으로 정렬하는 것이 좋습니다. ReSharper는 사용자가 원하는 정렬 순서를 정의하고, 정렬되지 않은 한정자를 찾아 자동으로 정렬할 수 있도록 도와줍니다.

또한 ReSharper에서 privateinternal 한정자를 명시적으로 사용할지 여부에 대한 환경 설정을 적용할 수 있습니다.

선언 또는 생성자에 할당되어 읽기 용도 외에 없는 필드에는 readonly 한정자를 사용하는 것이 합리적인 경우가 종종 있습니다. 기본적으로 ReSharper는 상기 조건이 충족될 경우 필드를 읽기 전용으로 설정할 것을 권장합니다.

한정자에 대한 모든 환경 설정을 구성할 수 있고 빠른 수정 및 코드 정리를 사용해 해당 설정을 적용할 수 있습니다.

원하는 범위에서 중복 코드 제거

코드 중복 제거(C#만 해당)

ReSharper는 중복 코드를 탐지하기 위한 수십 가지의 코드 검사 기능을 제공합니다.

이러한 중복 코드 중 대다수는 범위 내 수정 또는 코드 정리를 사용해 사용자가 일일이 수정할 필요 없이 제거할 수 있습니다.

코드 중복을 제거할 때 ReSharper는 다른 모든 코드 스타일 설정을 고려합니다. 특정 코드 구문이 코드 스타일 설정에서 중복되지 않은 것으로 정의된 경우, 그대로 유지됩니다.

확장된 이름 지정 스타일 구성

이름 지정 스타일

ReSharper에서는 유형, 네임스페이스, 인터페이스, 매개변수, 메서드 속성 및 이벤트, 정적 및 인스턴스 필드 등을 포함해서 다양한 언어 및 심볼에 대한 이름 지정 스타일 설정을 사용자 정의할 수 있습니다.

모든 심볼 유형에 대해 5가지 대소문자 옵션 중 하나, 접두어 및 접미어, 여러 액세스 권한 종류, 보존할 줄임말 등 다양한 옵션을 구성할 수 있습니다.

이름 지정 스타일을 위반한 항목은 에디터에 모두 강조 표시되므로 쉽게 수정할 수 있습니다.

또한 Find Code Issues(코드 문제 검색) 기능을 사용하여 Inspection Results(검사 결과) 창에서 전체 솔루션(또는 더 좁은 범위)의 모든 이름 지정 스타일 위반을 확인하고 빠르게 수정할 수 있습니다.

'using' 지시문을 최적화하기 위한 스타일 설정

네임스페이스 가져오기 스타일

코드의 가독성을 높이기 위해 C# 및 VB.NET 코드 파일에서 중복 using 지시문을 제거하거나 정규화된 참조의 길이를 줄일 수 있습니다. 뿐만 아니라 여러 가지 접근법으로 네임스페이스를 가져올 수 있습니다. using/import 지시문을 추가하거나 정규화된 유형 이름을 사용하여 파일 상단이나 네임스페이스 내부 등에 해당 지시문을 배치할 수 있습니다.

ReSharper를 이용하면 에디터에서 바로 중복 import 문을 빠르게 탐지하여 제거하거나, 코드 정리를 사용해 필요한 지시문을 알파벳 순으로 정렬하고 범위 안에 래핑할 수 있습니다.

CLR 유형 이름 대신 C# 기본 유형 키워드 사용

기본 제공 C# 유형의 참조 스타일

C# 유형 키워드 및 .NET Framework(CLR) 유형 이름은 기본 제공 C# 유형에서 서로 바꿔 사용할 수 있습니다. 기본 제공 유형 이름에 어느 한 가지 스타일을 유지하고 싶은 경우, ReSharper를 이용하면 환경 설정을 유지할 수 있습니다.

환경 설정은 구성이 가능하며, 코드 정리를 사용해 적용할 수도 있습니다.

여러 C# 속성을 자동으로 분리

C# 속성 스타일

C#에서는 여러 개의 속성을 다양한 방식으로 작성할 수 있습니다. 예를 들어 같은 대괄호 섹션에 여러 속성을 함께 넣거나 서로 다른 속성에 여러 섹션을 사용할 수 있습니다. ReSharper를 이용하면 여러 속성의 스타일을 지정하고, 이 스타일을 원하는 범위에 적용할 수 있습니다.

또한 ReSharper는 속성에 다양한 서식 지정 규칙을 제공하며, 코드 정리를 사용해 배치 모드에서 모든 스타일 환경 설정을 속성에 적용할 수 있도록 지원합니다.

중복 멤버 한정자 제거

선택적 멤버 한정자의 스타일

C#에서는 this 키워드를 사용해 인스턴스 멤버를 한정하는 동시에, 정적 멤버를 유형 이름 또는 기본 유형 이름으로 한정할 수 있습니다. 이러한 한정자는 지역 변수 또는 메서드 매개변수에 의해 숨겨진 멤버를 명확히 구분하는 데 도움이 됩니다. 이러한 한정자는 다른 모든 경우에서도 선택 항목이며, 사용 여부를 직접 결정할 수 있습니다. 기본적으로 ReSharper에서는 모든 선택적 멤버 한정자를 중복으로 처리하고 제거할 것을 제안합니다.

선택적 한정자의 사용을 선호할 경우, 그에 해당하는 코드 스타일 설정을 구성할 수 있습니다. 예를 들어, 정적 메서드가 선언되어 있는 유형을 사용해 해당 메서드를 한정하고 싶을 수 있습니다.

불필요한 괄호 제거

선택적 괄호 스타일

대부분의 경우 표현식 안의 괄호는 선택 항목입니다. 경우에 따라 괄호는 if ((a & b) | c)처럼 연산의 선행 규칙을 분명히 하는 데 도움이 되지만, var d = a + (b + c);처럼 전혀 도움이 되지 않거나 불필요한 코드가 추가된 것일 뿐일 수 있습니다. ReSharper에서는 선택적 괄호가 도움이 되는 상황을 정의하여 불필요한 괄호를 삭제하고 명확하지 않은 연산 선행 규칙을 명확히 보여주는 괄호가 자동으로 추가되도록 설정할 수 있습니다.

유형 멤버 레이아웃

파일 및 유형 레이아웃(C#만 해당)

C# 코드에서 ReSharper는 코드 내의 파일과 유형 멤버를 자동으로 재배열할 수 있습니다. 해당 종류와 액세스 제어자에 따라 구성원이 정렬 및 그룹화되고 지정된 영역에 래핑됩니다. ReSharper는 2가지의 기본 레이아웃 패턴(재배열 규칙 집합) 및 스마트 시각적 에디터를 제공합니다.

단축키 참고사항

이 페이지에 나온 모든 키보드 단축키는 ReSharper의 기본 'Visual Studio' 단축키에서 제공됩니다. ReSharper의 2가지 단축키에 관한 자세한 내용은 ReSharper 문서를 참조하세요.