다음을 통해 공유


코드 스타일 규칙

.NET 코드 스타일 분석은 코드베이스에서 일관된 스타일을 유지하는 것을 목표로 하는 규칙을 제공합니다. 이러한 규칙에는 규칙 ID에 “IDE” 접두사가 있습니다.

코드 스타일 규칙은 다음 하위 범주로 구성됩니다.

  • 언어 및 불필요한 코드 규칙

    C# 또는 Visual Basic 언어와 관련된 규칙입니다. 예를 들어 변수를 정의할 때 var 사용과 관련된 규칙을 지정하거나 식 본문 멤버를 기본 설정으로 지정할지 여부에 관한 규칙을 지정할 수 있습니다. 이 범주에는 메서드 또는 사용되지 않는 프라이빗 필드, 속성 또는 메서드 내에서 연결할 수 없는 코드와 같이 불필요한 코드를 찾는 규칙도 포함됩니다.

  • 서식 지정 규칙

    보다 쉽게 읽을 수 있도록 만들기 위한 코드의 레이아웃 및 구조체와 관련된 규칙입니다. 예를 들어, 제어 블록에서 공백 사용을 선호하는지 여부를 정의하는 서식 옵션을 지정할 수 있습니다.

  • 명명 규칙

    코드 요소의 이름 지정과 관련된 규칙입니다. 예를 들어 async 메서드 이름에 “Async” 접미사가 있어야 함을 지정할 수 있습니다.

  • 기타 규칙

    다른 범주에 속하지 않는 규칙입니다.

색인

다음 표에서는 ID 및 옵션(있는 경우)으로 모든 코드 스타일 규칙을 나열합니다.

규칙 ID 타이틀 옵션
IDE0001 이름 단순화
IDE0002 멤버 액세스 단순화
IDE0003 this 또는 Me 한정 제거 dotnet_style_qualification_for_field (필드에 대한 .NET 스타일 자격 설정)
dotnet_style_qualification_for_property (속성에 대한 스타일 지정 자격)
메서드에 대한 dotnet 스타일 자격 부여
dotnet_style_qualification_for_event
IDE0004 불필요한 캐스트 제거
IDE0005 불필요한 가져오기 제거
IDE0007 명시적 형식 대신 var 사용 csharp_style_var_for_built_in_types (내장형 유형용 C# 스타일 var)
csharp_style_var_when_type_is_apparent (타입이 명확할 때 'var' 스타일 사용)
csharp_style_var_elsewhere
IDE0008 var 대신 명시적 형식 사용 csharp_style_var_for_built_in_types (내장형 유형용 C# 스타일 var)
csharp_style_var_when_type_is_apparent
csharp_style_var_elsewhere
IDE0009 this 또는 Me 자격 추가 dotnet_style_qualification_for_field (필드에 대한 .NET 스타일 자격 설정)
dotnet_style_qualification_for_property (속성에 대한 스타일 지정 자격)
메서드에 대한 dotnet 스타일 자격 부여
dotnet_style_qualification_for_event
IDE0010 switch 문에 누락된 사례 추가
IDE0011 중괄호 추가 csharp_prefer_braces 설정은 C# 코드에서 중괄호 사용을 선호하는 옵션입니다.
IDE0016 throw 식 사용 csharp_style_throw_expression
IDE0017 개체 이니셜라이저 사용 dotnet_style_object_initializer (닷넷 스타일 객체 이니셜라이저)
IDE0018 인라인 변수 선언 csharp 스타일 내재된 변수 선언
IDE0019 패턴 일치를 사용하여 as 이후 null 검사 방지 csharp_스타일_패턴_매칭_as_사용_시_널_체크_우선
IDE0020 패턴 매칭을 사용하여 is 검사를 피하고 이어지는 캐스팅도 방지(변수 포함)를 합니다. is와 형식 확인으로 패턴 매칭 선호
IDE0021 생성자에 식 본문 사용 csharp 스타일 표현식 본문 생성자
IDE0022 메서드에 식 본문을 사용하세요. csharp_style_expression_bodied_메서드
IDE0023 변환 연산자에 식 본문 사용 csharp_style_expression_bodied_operators (C# 스타일 표현 본문 연산자)
IDE0024 연산자에 식 본문을 사용하세요 csharp_style_expression_bodied_operators (C# 스타일 표현 본문 연산자)
IDE0025 속성에 식 본문을 사용하세요 C# 스타일 표현식 본문 속성
IDE0026 식 본문을 인덱서에 사용하십시오 C# 스타일의 표현식 본문 인덱서
IDE0027 접근자에 표현식 본문을 사용하십시오 표현식 기반 접근자 스타일(C#)
IDE0028 컬렉션 이니셜라이저 사용 dotnet_style_collection_initializer
dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0029 Null 검사를 간소화할 수 있습니다. 닷넷_스타일_코얼레스크_표현식
IDE0030 Null 검사를 간소화할 수 있습니다. 닷넷_스타일_코얼레스크_표현식
IDE0031 null 전파 사용 dotnet_style_null_propagation
IDE0032 자동 속성 사용 dotnet_style_prefer_auto_properties 속성을 자동으로 선호하는 스타일
IDE0033 명시적으로 제공된 튜플 이름 사용 dotnet_style_explicit_tuple_names (명시적인 튜플 이름 스타일 설정)
IDE0034 default 식 단순화 csharp_단순한_기본_표현_선호
IDE0035 접근할 수 없는 코드 제거
IDE0036 순서 한정자 csharp_선호_수식어_순서
Visual_Basic_선호_수정자_순서
IDE0037 유추 멤버 이름 사용 dotnet_style_prefer_inferred_tuple_names
dotnet_style_prefer_inferred_anonymous_type_member_names 설정은 익명 형식 멤버 이름을 추론하도록 선호합니다.
IDE0038 패턴 매칭을 사용하여 is 검사를 한 후 변수 없이 캐스트하는 것을 피하세요. is와 형식 확인으로 패턴 매칭 선호
IDE0039 람다 대신 로컬 함수 사용 지역 변수를 무명 함수보다 선호하는 csharp 스타일
IDE0040 접근성 수정자 추가 dotnet_style_require_accessibility_modifiers는 프로그래밍에서 접근성 수정자를 요구하는 스타일입니다.
IDE0041 is null 검사 사용 dotnet_style_prefer_is_null_check_over_reference_equality_method (참고: 이 코딩 스타일 규칙은 null 확인을 참조 동등성 메서드 이상의 선호를 나타냅니다)
IDE0042 변수 선언 분해 csharp_style_deconstructed_variable_declaration (C# 스타일의 분해된 변수 선언)
IDE0044 읽기 전용 한정자 추가 dotnet_style_readonly_field (읽기 전용 필드 스타일)
IDE0045 대입에 조건식을 사용하십시오 dotnet_style_prefer_conditional_expression_over_assignment (조건 표현식을 할당보다 선호)
IDE0046 반환에 조건식 사용 dotnet_style_prefer_conditional_expression_over_return (조건 표현식을 반환 보다 선호하는 스타일 설정)
IDE0047 불필요한 괄호 제거 산술 이진 연산자에서의 괄호 스타일
dotnet_style_parentheses_in_relational_binary_operators
dotnet_style_parentheses_in_other_binary_operators (다른 이항 연산자에 대한 괄호 사용 스타일)
dotnet_스타일_연산자_내_괄호
IDE0048 명확하게 하기 위해 괄호 추가 산술 이진 연산자에서의 괄호 스타일
.NET 스타일 관계 이항 연산자 내 괄호
dotnet_style_parentheses_in_other_binary_operators (다른 이항 연산자에 대한 괄호 사용 스타일)
dotnet_스타일_연산자_내_괄호
IDE0049 형식 참조를 위한 프레임워크 형식 이름 대신 언어 키워드 사용 dotnet_style_predefined_type_for_locals_parameters_members
점멸된 멤버 액세스를 위한 기본 제공 형식 스타일
IDE0050 익명 형식을 튜플로 변환
IDE0051 사용되지 않는 private 멤버 제거
IDE0052 읽지 않은 비공개 멤버 제거
IDE0053 람다식 본문을 사용하세요 csharp_style_expression_bodied_lambdas (C# 표현식 기반 람다)
IDE0054 복합 할당 연산자 사용 dotnet_style_prefer_compound_assignment (복합 할당을 선호하는 스타일 설정)
IDE0055 서식 수정 (여기에 나열할 수 있는 항목이 너무 많습니다. .NET 서식 옵션C# 서식 옵션을 참조하세요.)
IDE0056 인덱스 연산자 사용 csharp_스타일_인덱스_연산자_선호
IDE0057 범위 연산자 사용 C# 스타일 범위 연산자 선호
IDE0058 사용되지 않는 식 값 제거 csharp_style_unused_value_expression_statement_preference (C# 스타일의 사용되지 않는 값 표현식 문장 설정)
비주얼베이직_스타일_사용되지_않은_값_표현_구문_선호
IDE0059 불필요한 값 대입 제거 csharp_style_unused_value_assignment_preference (C# 스타일 사용되지 않는 값 할당 설정)
Visual Basic 스타일 사용되지 않는 값 할당 선호도
IDE0060 사용하지 않는 매개 변수 제거 dotnet_code_quality_unused_parameters (사용되지 않는 매개변수)
IDE0061 로컬 함수에 식 본문 사용 csharp_style_expression_bodied_local_functions (C# 스타일 표현 형식 로컬 함수)
IDE0062 로컬 함수 만들기 static csharp_정적 지역 함수 선호
IDE0063 간단한 using 문 사용 csharp_prefer_simple_using_statement (C#의 간단한 사용 선언 선호)
IDE0064 구조체 필드를 쓰기 가능으로 설정
IDE0065 using 지시문 배치 csharp 사용 지시문 배치
IDE0066 switch 식 사용 csharp_style_prefer_switch_expression
IDE0070 System.HashCode.Combine 사용
IDE0071 보간의 간소화 dotnet_style_prefer_simplified_interpolation
IDE0072 switch 식에 누락된 사례 추가
IDE0073 파일 헤더 사용 파일_헤더_템플릿
IDE0074 coalesce 합성 대입 연산자 사용 dotnet_style_prefer_compound_assignment (복합 할당을 선호하는 스타일 설정)
IDE0075 조건식 간소화 dotnet_style_prefer_simplified_boolean_expressions (간단한 논리 표현식을 선호하도록 설정)
IDE0076 전역 잘못된 SuppressMessageAttribute 제거
IDE0077 레거시 형식 타겟을 전역 SuppressMessageAttribute에서 방지
IDE0078 패턴 일치 사용 csharp_style_prefer_pattern_matching (C# 스타일에서 패턴 매칭 선호)
IDE0079 불필요한 억제 제거 dotnet_remove_unnecessary_suppression_exclusions
IDE0080 불필요한 숨김 연산자 제거
IDE0081 ByVal 제거
IDE0082 typeofnameof로 변환
IDE0083 패턴 일치 사용(not 연산자) csharp_style_prefer_not_pattern (C# 스타일에서 not 패턴 선호)
IDE0084 패턴 일치 사용(IsNot 연산자) 비주얼_베이직_스타일_선호_이다_표현
IDE0090 new 식 단순화 csharp_스타일_암시적_객체_생성_유형_명확시
IDE0100 불필요한 같음 연산자 제거
IDE0110 불필요한 폐기 제거
IDE0120 LINQ 식 간소화
IDE0121 LINQ 형식 검사 및 캐스트 간소화
IDE0130 네임스페이스가 폴더 구조와 일치하지 않음 dotnet_style_namespace_match_folder (닷넷 스타일 네임스페이스 매치 폴더)
IDE0140 개체 만들기 간소화 visual_basic_style_prefer_simplified_object_creation
IDE0150 null 검사를 형식 검사보다 선호 csharp 스타일에서 타입 검사보다 null 검사를 선호하기
IDE0160 블록 범위의 네임스페이스 사용 csharp_style_namespace_declarations (C# 스타일 네임스페이스 선언)
IDE0161 파일 단위 네임스페이스 사용 csharp_style_namespace_declarations (C# 스타일 네임스페이스 선언)
IDE0170 속성 패턴 간소화 csharp_style_prefer_extended_property_pattern (C# 스타일 선호 확장 속성 패턴)
IDE0180 튜플을 사용하여 값 교환 csharp_style_prefer_tuple_swap (C# 스타일 선호 튜플 교환)
IDE0200 불필요한 람다 식 제거 csharp_style_prefer_method_group_conversion (메서드 그룹 변환을 선호하는 C# 스타일 옵션)
IDE0210 최상위 코드 문으로 변환 csharp_style_prefer_top_level_statements (최상위 문장 사용 선호)
IDE0211 'Program.Main' 스타일의 프로그램으로 변환하십시오. csharp_style_prefer_top_level_statements (최상위 문장 사용 선호)
IDE0220 foreach 루프에 명시적 캐스트 추가 dotnet_style_prefer_foreach_explicit_cast_in_source
IDE0230 UTF-8 문자열 리터럴 사용 csharp 스타일 UTF8 문자열 리터럴 선호
IDE0240 Nullable 지시문이 불필요합니다.
IDE0241 Nullable 지시문이 필요하지 않습니다.
IDE0250 구조체는 '읽기 전용'으로 만들 수 있습니다. csharp_style_prefer_readonly_struct은 구조체 사용 시 읽기 전용으로 설정하는 C# 스타일을 선호하도록 구성하는 옵션입니다.
IDE0251 멤버를 '읽기 전용' 속성으로 설정할 수 있습니다. csharp_style_prefer_readonly_struct_member
IDE0260 패턴 일치 사용 csharp_스타일_패턴_매칭_as_사용_시_널_체크_우선
IDE0270 Null 검사를 간소화할 수 있습니다. 닷넷_스타일_코얼레스크_표현식
IDE0280 nameof 사용
IDE0290 기본 생성자 사용 csharp_style_prefer_primary_constructors
IDE0300 배열에 컬렉션 식 사용 dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0301 빈 경우에는 컬렉션 표현식을 사용하세요. dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0302 stackalloc에 컬렉션 식 사용 dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0303 Create()에 컬렉션 식을 사용하십시오 dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0304 작성기에서 컬렉션 식 사용 dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0305 유연한 사용을 위해 컬렉션 식 사용 dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0306 새 객체 생성 시 컬렉션 식 사용 dotnet_style_prefer_collection_expression (컬렉션 표현 선호 설정)
IDE0320 익명 함수 만들기 static csharp_정적_익명_함수_선호
IDE0330 'System.Threading.Lock'을 선호합니다. csharp_prefer_system_threading_lock (C# 시스템 스레딩 잠금을 선호)
IDE0340 바인딩되지 않은 제네릭 형식 사용 csharp_style_prefer_unbound_generic_type_in_nameof (C# 명명에서는 의존성이 없는 제네릭 유형을 선호)
IDE0350 암시적으로 형식화된 람다 사용 csharp_style_prefer_implicitly_typed_lambda_expression (C# 스타일 암시적으로 입력된 람다 표현식 선호)
IDE1005 조건부 대리자 호출 사용 csharp 스타일 조건부 대리자 호출
IDE1006 명명 스타일
IDE3000 Copilot을 사용하여 구현하기

참고

Visual Studio IDE에만 표시되는 몇 가지 규칙이 있으며 이러한 규칙은 JSON 및 정규식 패턴 문자열을 고려합니다. 자세한 내용은 JSON001, JSON002RE0001을 참조하세요.

범례

다음 표에서는 참조 설명서의 각 규칙에 대해 제공되는 정보 유형을 보여줍니다.

항목 설명
규칙 ID 규칙의 고유 식별자입니다. 규칙 심각도를 구성하고 코드 파일에서 경고를 표시하지 않는 데 사용됩니다.
제목 규칙의 제목입니다.
범주 규칙의 범주.
하위 범주 언어 규칙, 서식 규칙 또는 명명 규칙과 같은 규칙의 하위 범주입니다.
해당 언어 해당하는 경우 최소 언어 버전과 함께 적용 가능한 .NET 언어(C# 또는 Visual Basic)입니다.
도입된 버전 규칙이 처음 도입되었을 때 .NET SDK 또는 Visual Studio 버전입니다.
옵션 규칙에 사용할 수 있는 모든 옵션입니다.

참조