MiKo Analyzers
1.0.0
.NET 컴파일러 플랫폼 (Roslyn)을 기반으로하는 분석기를 제공하며 Visual Studio 2019 (v16.11) 또는 2022 (v17.11) 내에서 사용할 수 있습니다.
Roslyn 분석기를 설치하는 방법은 여기에 설명되어 있습니다.
이러한 분석기를 사용하는 방법에 대한 스크린 샷은 여기에서 찾을 수 있습니다.
다음 테이블에는 현재 분석기가 제공하는 473 개의 규칙이 나와 있습니다.
| ID | 제목 | 기본적으로 활성화됩니다 | CodeFix 사용 가능 |
|---|---|---|---|
| miko_0001 | 방법이 너무 큽니다 | ✓ | - |
| miko_0002 | 방법이 너무 복잡합니다 | ✓ | - |
| miko_0003 | 유형이 너무 큽니다 | ✓ | - |
| miko_0004 | 메소드에는 너무 많은 매개 변수가 있습니다 | ✓ | - |
| miko_0005 | 로컬 기능이 너무 큽니다 | ✓ | - |
| miko_0006 | 로컬 기능이 너무 복잡합니다 | ✓ | - |
| miko_0007 | 로컬 기능에는 너무 많은 매개 변수가 있습니다 | ✓ | - |
| ID | 제목 | 기본적으로 활성화됩니다 | CodeFix 사용 가능 |
|---|---|---|---|
| miko_1000 | 'System.EventArgs'유형은 'EventArgs'와 접미사해야합니다. | ✓ | ✓ |
| miko_1001 | 'System.EventArgs'매개 변수는 'e'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1002 | 이벤트 처리기의 .NET Framework 설계 지침에 따라 매개 변수를 명명해야합니다. | ✓ | ✓ |
| miko_1003 | 이벤트 처리 방법 이름은 .NET Framework 설계 지침을 따라야합니다. | ✓ | ✓ |
| Miko_1004 | 이벤트에는 이름에 '이벤트'라는 용어가 포함되어서는 안됩니다 | ✓ | ✓ |
| Miko_1005 | 'System.EventArgs'변수는 올바르게 명명되어야합니다 | ✓ | ✓ |
| miko_1006 | 이벤트 | ✓ | - |
| Miko_1007 | 이벤트와 해당 'Eventargs'유형은 동일한 네임 스페이스에 있어야합니다. | ✓ | - |
| Miko_1008 | Parameters는 의존성 전문가 이벤트 처리기에 대한 .NET Framework 설계 지침에 따라 명명되어야합니다. | ✓ | ✓ |
| Miko_1009 | 'System. Eventhandler'변수의 이름을 올바르게 지정해야합니다 | ✓ | ✓ |
| miko_1010 | 메소드는 이름에 '캔 execute'또는 'execute'를 포함해서는 안됩니다. | ✓ | ✓ |
| miko_1011 | 방법에는 이름에 '수행'이 포함되어서는 안됩니다 | ✓ | ✓ |
| miko_1012 | 방법은 'Fire'대신 'Rain'으로 명명되어야합니다. | ✓ | ✓ |
| miko_1013 | 메소드는 'Notify'또는 'onnotify'라는 이름을 지정해서는 안됩니다. | ✓ | ✓ |
| miko_1014 | 방법은 모호한 '확인'으로 명명되어서는 안됩니다. | ✓ | ✓ |
| miko_1015 | 방법은 'Init'대신 '초기화'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1016 | 공장 방법은 'Create'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1017 | 'is', 'can'또는 'has'가있는 경우 방법을 'get'또는 'set'으로 접두사하지 않아야합니다. | ✓ | ✓ |
| miko_1018 | 방법은 동사 명사로 접미사되어서는 안됩니다. | ✓ | ✓ |
| miko_1019 | 'CLEAR'및 '제거'메소드는 매개 변수 수에 따라 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1020 | 유형 이름은 길이가 제한되어야합니다 | - | - |
| miko_1021 | 메소드 이름의 길이는 제한되어야합니다 | - | - |
| miko_1022 | 매개 변수 이름은 길이가 제한되어야합니다 | - | - |
| miko_1023 | 필드 이름은 길이가 제한되어야합니다 | - | - |
| miko_1024 | 속성 이름은 길이가 제한되어야합니다 | - | - |
| miko_1025 | 이벤트 이름은 길이가 제한되어야합니다 | - | - |
| miko_1026 | 가변 이름의 길이는 제한되어야합니다 | - | - |
| miko_1027 | 루프의 가변 이름은 길이가 제한되어야합니다 | - | - |
| miko_1028 | 로컬 기능 이름의 길이는 제한되어야합니다 | - | - |
| miko_1030 | 유형은 기본 유형임을 나타 내기 위해 '추상적'또는 '기본'마커가 없어야합니다. | ✓ | ✓ |
| miko_1031 | 엔티티 유형은 '모델'접미사를 사용해서는 안됩니다 | ✓ | ✓ |
| miko_1032 | 엔티티를 다루는 방법은 '모델'을 마커로 사용해서는 안됩니다. | ✓ | ✓ |
| miko_1033 | 엔티티를 나타내는 매개 변수는 '모델'접미사를 사용해서는 안됩니다 | ✓ | ✓ |
| miko_1034 | 엔티티를 나타내는 필드는 '모델'접미사를 사용해서는 안됩니다 | ✓ | ✓ |
| miko_1035 | 엔티티를 다루는 속성은 '모델'마커를 사용해서는 안됩니다. | ✓ | ✓ |
| miko_1036 | 엔티티를 다루는 이벤트는 '모델'마커를 사용해서는 안됩니다. | ✓ | ✓ |
| miko_1037 | 유형은 'type', 'interface', 'class', 'struct', 'record'또는 'enum'으로 접미사되어서는 안됩니다. | ✓ | ✓ |
| miko_1038 | 확장 방법을 포함하는 클래스는 동일한 접미사로 끝나야합니다. | ✓ | ✓ |
| miko_1039 | 확장 메소드의 '이'매개 변수에는 기본 이름이 있어야합니다. | ✓ | ✓ |
| miko_1040 | 매개 변수에는 구현 세부 사항이 접미사되어서는 안됩니다 | ✓ | - |
| miko_1041 | 필드에는 구현 세부 사항이 접미사되어서는 안됩니다 | ✓ | - |
| miko_1042 | 'CancellationToken'매개 변수에는 특정 이름이 있어야합니다 | ✓ | ✓ |
| miko_1043 | 'CancellationToken'변수에는 특정 이름이 있어야합니다 | ✓ | ✓ |
| miko_1044 | 명령은 '명령'으로 접미사해야합니다. | ✓ | ✓ |
| miko_1045 | 명령에 의해 호출되는 메소드는 '명령'으로 접미사되어서는 안됩니다. | ✓ | ✓ |
| miko_1046 | 비동기 방법은 작업 기반 비동기 패턴을 따라야합니다 (TAP) | ✓ | ✓ |
| miko_1047 | 작업 기반 비동기 패턴 (TAP)을 따르지 않는 메소드는 비동기적 인 것에 대해 거짓말을해서는 안됩니다. | ✓ | ✓ |
| miko_1048 | 값 변환기 인 클래스는 특정 접미사로 끝나야합니다. | ✓ | ✓ |
| miko_1049 | 이름에 '해야 할', '해야 할', '필수'또는 '필요'와 같은 요구 사항 용어를 사용하지 마십시오. | ✓ | ✓ |
| miko_1050 | 반환 값에는 설명 이름이 있어야합니다 | ✓ | ✓ |
| miko_1051 | 대의원 유형의 접미사 매개 변수를 사용하지 마십시오 | ✓ | ✓ |
| miko_1052 | 대의원 유형이있는 접미사 변수를 사용하지 마십시오 | ✓ | ✓ |
| miko_1053 | 대의원 유형이있는 접미사 필드를하지 마십시오 | ✓ | ✓ |
| miko_1054 | 유형의 '도우미'또는 '유틸리티'의 이름을 지정하지 마십시오. | ✓ | ✓ |
| miko_1055 | 종속성 속성은 '속성'과 함께 접미사해야합니다 (.NET 프레임 워크에서와 같이) | ✓ | ✓ |
| miko_1056 | 종속성 속성은 속성 이름으로 접두사를해야합니다 (.NET 프레임 워크에서와 같이) | ✓ | ✓ |
| miko_1057 | 종속성 속성 키는 '키'(.NET 프레임 워크에서와 같이)로 접미사해야합니다. | ✓ | ✓ |
| miko_1058 | 종속성 속성 키는 속성 이름으로 접두사를해야합니다 (.NET 프레임 워크에서와 같이) | ✓ | ✓ |
| miko_1059 | 유형의 이름을 '명시'또는 '구현'으로 지정하지 마십시오. | ✓ | ✓ |
| miko_1060 | 'get <entity> 실패'또는 '<entity> 누락'대신 '<entity> notfound'를 사용하십시오. | ✓ | ✓ |
| miko_1061 | 'try'메소드의 [out] 매개 변수의 이름은 구체적이어야합니다. | ✓ | ✓ |
| miko_1062 | '할 수/포함/포함'방법, 속성 또는 필드는 몇 단어 만 구성되어야합니다. | ✓ | - |
| miko_1063 | 이름에 약어를 사용하지 마십시오 | ✓ | ✓ |
| miko_1064 | 매개 변수 이름은 그 의미가 아니라 그들의 의미를 반영합니다 | ✓ | - |
| miko_1065 | 운영자 매개 변수는 운영자 과부하에 대한 .NET Framework 설계 지침에 따라 명명되어야합니다. | ✓ | ✓ |
| miko_1066 | 속성에 할당 된 생성자 매개 변수는 속성의 이름을 따서 명명되어야합니다. | ✓ | ✓ |
| miko_1067 | 방법에는 이름에 '수행'이 포함되어서는 안됩니다 | ✓ | ✓ |
| miko_1068 | 워크 플로 메소드는 'Canrun'또는 'run'으로 명명되어야합니다. | ✓ | - |
| miko_1069 | 속성 이름은 그들의 의미가 아니라 그들의 의미를 반영합니다 | ✓ | - |
| miko_1070 | 로컬 컬렉션 변수는 복수 이름을 사용해야합니다 | ✓ | ✓ |
| miko_1071 | 로컬 부울 변수는 문의로 명명되어야하며 질문이 아닙니다. | ✓ | - |
| miko_1072 | 부울 속성 또는 방법 | ✓ | - |
| miko_1073 | 부울 분야 | ✓ | - |
| miko_1074 | 잠금에 사용되는 물체는 '잠금'으로 접미사해야합니다. | ✓ | - |
| miko_1075 | 비 제도 .EventArgs '유형은'Eventargs '와 접미사되어서는 안됩니다. | ✓ | ✓ |
| miko_1076 | 프리즘 이벤트 유형은 '이벤트'로 접미사해야합니다. | ✓ | ✓ |
| miko_1077 | 열기 멤버는 'enum'으로 접미사를 받아서는 안됩니다. | ✓ | ✓ |
| miko_1078 | 빌더 메소드 이름은 '빌드'로 시작해야합니다. | ✓ | ✓ |
| miko_1079 | 리포지토리는 '저장소'로 접미사해서는 안됩니다. | ✓ | ✓ |
| miko_1080 | 이름에는 철자 대신 숫자가 포함되어야합니다 | ✓ | - |
| miko_1081 | 메소드는 숫자로 접미사되어서는 안됩니다 | ✓ | ✓ |
| miko_1082 | 유형의 숫자 접미사가 있으면 속성은 숫자로 접미사를받지 않아야합니다. | ✓ | ✓ |
| miko_1083 | 유형의 숫자 접미사가 있으면 필드는 숫자로 접미사를받지 않아야합니다. | ✓ | ✓ |
| miko_1084 | 유형의 숫자 접미사가 있으면 변수는 숫자로 접미사를받지 않아야합니다. | ✓ | ✓ |
| miko_1085 | 매개 변수는 숫자로 접미사되어서는 안됩니다 | ✓ | ✓ |
| miko_1086 | 메소드는 숫자를 속어로 사용하여 이름을 지정해서는 안됩니다 | ✓ | - |
| miko_1087 | 기본 클래스에서 상대방의 이름 생성자 매개 변수 | ✓ | ✓ |
| miko_1088 | 싱글 톤 인스턴스는 '인스턴스'로 지정되어야합니다. | ✓ | - |
| miko_1089 | 메소드는 'get'으로 접두사를하지 않아야합니다. | ✓ | ✓ |
| miko_1090 | 매개 변수는 특정 유형으로 접미사를해서는 안됩니다 | ✓ | ✓ |
| miko_1091 | 변수는 특정 유형으로 접미사되어서는 안됩니다 | ✓ | ✓ |
| miko_1092 | '능력'유형은 중복 정보로 접미사를해서는 안됩니다 | ✓ | ✓ |
| miko_1093 | 접미사 '객체'또는 'struct'를 사용하지 마십시오. | ✓ | ✓ |
| miko_1094 | 수동 네임 스페이스 이름이있는 접미사 유형은 아닙니다 | ✓ | - |
| miko_1095 | 이름과 문서에서 '삭제'및 '제거'를 사용하지 마십시오. | ✓ | - |
| miko_1096 | 이름은 '실패'대신 '실패'를 사용해야합니다. | ✓ | - |
| miko_1097 | 매개 변수 이름은 필드의 이름 지정 체계를 따르지 않아야합니다. | ✓ | ✓ |
| miko_1098 | 유형 이름은 구현하는 비즈니스 인터페이스를 반영해야합니다 | ✓ | - |
| miko_1099 | 메소드 오버로드의 매개 변수는 동일한 이름을 가져야합니다 | ✓ | ✓ |
| miko_1100 | 테스트 클래스는 테스트중인 유형의 이름으로 시작해야합니다. | ✓ | - |
| miko_1101 | 테스트 클래스는 '테스트'로 끝나야합니다. | ✓ | ✓ |
| miko_1102 | 테스트 방법에는 이름에 '테스트'가 포함되어서는 안됩니다 | ✓ | ✓ |
| miko_1103 | 테스트 초기화 방법은 'repuretest'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1104 | 테스트 정리 방법은 'CleanUptest'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1105 | 일회성 테스트 초기화 방법은 'repuretestenvironment'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1106 | 일회성 테스트 정리 방법은 'CleanuptesTenvironment'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1107 | 테스트 방법은 파스칼 케이싱에있어서는 안됩니다 | ✓ | ✓ |
| miko_1108 | 변수, 매개 변수, 필드 및 속성 'Mock', 'Stub', '가짜'또는 'shim'의 이름을 지정하지 마십시오. | ✓ | ✓ |
| miko_1109 | 'UT'접미사를 사용하는 대신 '테스트 가능한'테스트 가능한 유형 접두사 | ✓ | ✓ |
| miko_1110 | 매개 변수가있는 테스트 방법은 밑줄로 접미사해야합니다 | ✓ | ✓ |
| miko_1111 | 매개 변수가없는 테스트 방법은 밑줄로 접미사를해서는 안됩니다. | ✓ | ✓ |
| miko_1112 | 테스트 데이터를 '임의'로 지정하지 마십시오. | ✓ | ✓ |
| miko_1113 | 테스트 방법은 BDD 스타일에 따라 명명되어서는 안됩니다 | ✓ | - |
| miko_1114 | 테스트 방법은 'happypath'또는 'badpath'라는 이름을 지정해서는 안됩니다. | ✓ | - |
| miko_1115 | 테스트 방법은 유창한 방식으로 명명되어야합니다 | ✓ | ✓ |
| miko_1200 | 캐치 블록의 이름 예외는 일관되게 | ✓ | ✓ |
| miko_1201 | 이름 예외는 매개 변수로 일관되게 예외입니다 | ✓ | ✓ |
| miko_1300 | Lambda 문의 중요하지 않은 식별자는 '_'라는 이름을 지정해야합니다. | ✓ | ✓ |
| miko_1400 | 네임 스페이스 이름은 복수형이어야합니다 | ✓ | - |
| miko_1401 | 네임 스페이스에는 기술 언어 이름이 포함되어서는 안됩니다 | ✓ | - |
| miko_1402 | 네임 스페이스는 WPF 특이 적 설계 패턴의 이름을 따서는 안됩니다 | ✓ | - |
| miko_1403 | 네임 스페이스는 부모 네임 스페이스의 이름을 따서는 안됩니다. | ✓ | - |
| miko_1404 | 네임 스페이스에는 비특이적 이름이 포함되어 있지 않아야합니다 | ✓ | - |
| miko_1405 | 네임 스페이스에는 'lib'가 포함되지 않아야합니다. | ✓ | - |
| miko_1406 | 값 변환기는 '변환기'네임 스페이스에 배치해야합니다 | ✓ | - |
| miko_1407 | 테스트 네임 스페이스에는 '테스트'가 포함되어 있지 않아야합니다. | ✓ | - |
| miko_1408 | 확장 방법은 확장 유형과 동일한 네임 스페이스에 배치해야합니다. | ✓ | - |
| miko_1409 | 밑줄로 접두사 또는 접미사 네임 스페이스를하지 마십시오 | ✓ | - |
| ID | 제목 | 기본적으로 활성화됩니다 | CodeFix 사용 가능 |
|---|---|---|---|
| miko_2000 | 문서는 유효한 XML이어야합니다 | ✓ | ✓ |
| Miko_2001 | 이벤트는 올바르게 문서화해야합니다 | ✓ | ✓ |
| Miko_2002 | EventArgs는 올바르게 문서화해야합니다 | ✓ | ✓ |
| miko_2003 | 이벤트 핸들러의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| Miko_2004 | 이벤트 핸들러 매개 변수 이름 문서화 이벤트 처리기에 대한 .NET Framework 설계 지침을 따라야합니다. | ✓ | ✓ |
| Miko_2005 | EventArgs에 대한 텍스트 참조는 올바르게 문서화되어야합니다 | ✓ | - |
| miko_2006 | 라우팅 된 이벤트는 .NET 프레임 워크에서 수행 한대로 문서화해야합니다. | ✓ | ✓ |
| miko_2010 | 봉인 된 클래스는 봉인 된 문서화를 문서화해야합니다 | ✓ | ✓ |
| miko_2011 | 설치되지 않은 수업은 봉인에 대해 거짓말을해서는 안됩니다 | ✓ | ✓ |
| Miko_2012 | <summary> 문서는 유형의 책임을 설명해야합니다 | ✓ | ✓ |
| miko_2013 | <summary> 열거의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| Miko_2014 | .NET 프레임 워크에서 수행 한대로 방법을 문서화해야합니다. | ✓ | ✓ |
| Miko_2015 | 문서화는 '불'대신 'Rain'또는 'Throw'를 사용해야합니다. | ✓ | ✓ |
| miko_2016 | 비동기 방법에 대한 문서는 특정 문구로 시작해야합니다 | ✓ | ✓ |
| Miko_2017 | 의존성 속성은 .NET 프레임 워크에서 수행 한대로 문서화해야합니다. | ✓ | ✓ |
| Miko_2018 | 문서는 모호한 용어 '확인'또는 '테스트'를 사용해서는 안됩니다. | ✓ | ✓ |
| Miko_2019 | <summary> 문서화는 3 인칭 단일 동사로 시작해야합니다 (예 : "제공") | ✓ | - |
| miko_2020 | 상속 된 문서는 <inheritdoc /> 마커와 함께 사용해야합니다 | ✓ | ✓ |
| miko_2021 | 매개 변수 문서에는 기본 시작 구절이 있어야합니다 | ✓ | ✓ |
| miko_2022 | [out] 매개 변수에 대한 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| miko_2023 | 부울 매개 변수의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| miko_2024 | 열거 매개 변수의 문서에는 기본 시작 구절이 있어야합니다. | ✓ | ✓ |
| miko_2025 | 'CancellationToken'매개 변수의 문서화는 기본 시작 구절이 있어야합니다. | ✓ | ✓ |
| miko_2026 | 사용 된 매개 변수를 사용하지 않도록 문서화해서는 안됩니다 | ✓ | - |
| miko_2027 | 직렬화 생성자 매개 변수는 특정 문구로 문서화해야합니다. | ✓ | ✓ |
| miko_2028 | 매개 변수의 문서는 매개 변수의 이름 만 포함해서는 안됩니다. | ✓ | - |
| miko_2029 | <inheritdoc> 문서는 'cref'자체를 사용해서는 안됩니다 | ✓ | ✓ |
| miko_2030 | 반환 값의 문서에는 기본 시작 구절이 있어야합니다. | ✓ | - |
| miko_2031 | 작업 반환 값에 대한 문서에는 특정 (시작) 문구가 있어야합니다. | ✓ | ✓ |
| miko_2032 | 부울 반환 값에 대한 문서에는 특정 문구가 있어야합니다. | ✓ | ✓ |
| miko_2033 | 문자열 반환 값의 문서에는 기본 시작 구절이 있어야합니다. | ✓ | ✓ |
| miko_2034 | 열거 반환 값의 문서에는 기본 시작 구절이 있어야합니다. | ✓ | ✓ |
| miko_2035 | 수집 반환 값의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| miko_2036 | 부울 또는 열거 속성의 문서화는 기본값을 설명해야합니다. | ✓ | ✓ |
| miko_2037 | <summary> 명령 속성의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| miko_2038 | <summary> 명령의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| miko_2039 | <summary> 확장 방법을 포함하는 클래스의 문서화 기본 시작 구절이 있어야합니다. | ✓ | ✓ |
| miko_2040 | <langword = "..."/> 참조 <c> ... </c> 대신 사용해야합니다 | ✓ | ✓ |
| miko_2041 | <summary> 문서에는 다른 문서 태그가 포함되어 있지 않아야합니다 | ✓ | ✓ |
| miko_2042 | 문서는 '<br/>'html 태그 대신 '<para/>'xml 태그를 사용해야합니다. | ✓ | ✓ |
| miko_2043 | <summary> 사용자 정의 대표의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| Miko_2044 | 문서 참조 메소드 매개 변수를 올바르게합니다 | ✓ | ✓ |
| miko_2045 | <summary> 문서는 매개 변수를 참조해서는 안됩니다 | ✓ | ✓ |
| miko_2046 | 문서는 유형 매개 변수를 올바르게 참조해야합니다 | ✓ | ✓ |
| miko_2047 | <summary> 속성의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | - |
| miko_2048 | <요약> 값 변환기의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| miko_2049 | 문서는 더 명확해야하고 'BE'를 사용하지 않아야합니다. | ✓ | ✓ |
| miko_2050 | .NET 프레임 워크에 따라 예외를 문서화해야합니다 | ✓ | ✓ |
| Miko_2051 | 예외는 일종의 조건으로 문서화되어야합니다 (예 : '<paramref name = "xyz"/> is <c> 42 </c>') | ✓ | ✓ |
| miko_2052 | argumentnullexception의 던지기는 기본 문구를 사용하여 문서화해야합니다. | ✓ | ✓ |
| miko_2053 | argumentnullexception의 던지기는 참조 유형 매개 변수에 대해서만 문서화해야합니다. | ✓ | - |
| Miko_2054 | ArgumentException의 던지기는 기본 시작 문구를 사용하여 문서화해야합니다. | ✓ | ✓ |
| miko_2055 | ArgumentOutOfRangeException의 던지기는 기본 시작 문구를 사용하여 문서화해야합니다. | ✓ | ✓ |
| miko_2056 | ObjectDisparedingException의 던지기는 기본 결말 문구를 사용하여 문서화해야합니다. | ✓ | ✓ |
| miko_2057 | 일회용이 아닌 유형은 ObjectDispossionException을 던지지 않아야합니다. | ✓ | ✓ |
| miko_2059 | 동일한 예외의 여러 문서를 하나로 통합해야합니다. | ✓ | ✓ |
| miko_2060 | 공장은 균일 한 방식으로 문서화되어야합니다 | ✓ | ✓ |
| miko_2070 | <summary> 문서화는 '반환'으로 시작해서는 안됩니다. | ✓ | ✓ |
| miko_2071 | <summary> 반환 열거 유형에 대한 문서에 대한 문서는 부울 유형에 대한 문구를 포함해서는 안됩니다. | ✓ | - |
| miko_2072 | <summary> 문서화는 '시도'로 시작해서는 안됩니다. | ✓ | ✓ |
| miko_2073 | <summary> '포함'방법의 문서화는 '결정'으로 시작해야합니다. | ✓ | ✓ |
| miko_2074 | 'conture'메소드의 매개 변수 문서에 기본 결말 문구가 있어야합니다. | ✓ | ✓ |
| miko_2075 | 문서는 'action', 'func'또는 'function'대신 '콜백'이라는 용어를 사용해야합니다. | ✓ | ✓ |
| miko_2076 | 문서는 선택적 매개 변수의 기본값을 문서화해야합니다 | ✓ | ✓ |
| miko_2077 | <summary> 문서에는 <code>가 포함되어 있지 않아야합니다 | ✓ | - |
| miko_2078 | <code> 문서에는 XML 태그가 포함되어서는 안됩니다 | ✓ | - |
| miko_2079 | <summary> 속성 문서에는 명백한 텍스트가 없어야합니다 | ✓ | ✓ |
| miko_2080 | <summary> 필드의 문서에는 기본 시작 문구가 있어야합니다. | ✓ | ✓ |
| Miko_2081 | <요약> 공개 가시적 판독 읽기 전용 필드의 문서에는 기본 결말 문구가 있어야합니다. | ✓ | ✓ |
| Miko_2082 | <summary> 열거 멤버의 문서화는 기본적으로 시작해서는 안됩니다. | ✓ | ✓ |
| Miko_2090 | 평등 운영자에 대한 문서에는 기본 문구가 있어야합니다 | ✓ | ✓ |
| Miko_2091 | 불평등 운영자에 대한 문서에는 기본 문구가 있어야합니다 | ✓ | ✓ |
| miko_2100 | <AIVERS> 문서는 설명 기본 구문으로 시작해야합니다 | ✓ | ✓ |
| miko_2101 | <axial> 문서는 <code> 태그에 코드 예제를 표시해야합니다 | ✓ | ✓ |
| miko_2200 | 대문자 문자를 사용하여 주석을 시작하십시오 | ✓ | ✓ |
| miko_2201 | 자본화 된 문자를 사용하여 주석에서 문장을 시작하십시오. | ✓ | - |
| miko_2202 | 문서는 'ID'대신 '식별자'라는 용어를 사용해야합니다. | ✓ | ✓ |
| miko_2203 | 문서는 'Guid'대신 '고유 식별자'라는 용어를 사용해야합니다. | ✓ | ✓ |
| miko_2204 | 문서는 열거에 <ist>를 사용해야합니다 | ✓ | ✓ |
| miko_2205 | 중요한 정보는 <cote>를 사용해야합니다 | ✓ | - |
| miko_2206 | 문서는 '플래그'라는 용어를 사용해서는 안됩니다. | ✓ | - |
| miko_2207 | <요약> 문서는 짧아야합니다 | ✓ | - |
| miko_2208 | 문서는 '인스턴스'라는 용어를 사용해서는 안됩니다. | ✓ | ✓ |
| miko_2209 | 문서에서 이중 기간을 사용하지 마십시오 | ✓ | ✓ |
| miko_2210 | 문서는 '정보'대신 '정보'라는 용어를 사용해야합니다. | ✓ | ✓ |
| miko_2211 | 열기 멤버에게는 <warnice> 섹션이 없어야합니다 | ✓ | ✓ |
| miko_2212 | 문서는 '성공하지 못한'대신 '실패'라는 문구를 사용해야합니다. | ✓ | ✓ |
| miko_2213 | 문서화는 "n't"수축을 사용해서는 안됩니다. | ✓ | ✓ |
| miko_2214 | 문서에는 빈 줄이 포함되어 있지 않아야합니다 | ✓ | ✓ |
| miko_2215 | 문서의 문장은 짧아야합니다 | ✓ | - |
| miko_2216 | 참조 매개 변수에 <paramref>를 사용하여 <paramref>를 사용하십시오 | ✓ | ✓ |
| miko_2217 | <ist> 문서가 올바르게 수행됩니다 | ✓ | ✓ |
| miko_2218 | 문서화는 장기적인 용어 대신 '사용/in/by'대신 짧은 용어를 사용해야합니다. | ✓ | ✓ |
| miko_2219 | 문서에 질문이나 설명 표시를 사용하지 마십시오 | ✓ | - |
| miko_2220 | 문서는 '찾는 대신', '검사'또는 '테스트하기'대신 '찾는'을 사용해야합니다. | ✓ | ✓ |
| miko_2221 | 문서는 빈 XML 태그를 사용해서는 안됩니다 | ✓ | - |
| miko_2222 | 문서는 'ID'대신 '식별'이라는 용어를 사용해야합니다. | ✓ | ✓ |
| miko_2223 | 문서화는 <cref = "..."/>을 통해 참조를 링크합니다 | ✓ | - |
| miko_2224 | 문서에는 XML 태그와 텍스트가 별도의 라인에 배치되어야합니다. | ✓ | ✓ |
| miko_2225 | <c> 태그로 표시된 코드는 한 줄에 배치해야합니다. | ✓ | ✓ |
| miko_2226 | 문서는 '왜'가 아니라 '왜'를 설명해야합니다. | ✓ | - |
| miko_2227 | 문서에는 resharper 억제가 포함되어서는 안됩니다 | ✓ | - |
| miko_2228 | 문서는 부정적인 대신 긍정적 인 문구를 사용해야합니다 | ✓ | - |
| miko_2229 | 문서에는 남은 XML 조각이 포함되어 있지 않아야합니다 | ✓ | ✓ |
| miko_2231 | 재정의 된 'gethashcode ()'메소드의 문서화 '<inheritdoc />'마커를 사용해야합니다. | ✓ | ✓ |
| miko_2232 | <summary> 문서는 비어 있지 않아야합니다 | ✓ | ✓ |
| miko_2233 | XML 태그는 한 줄에 배치해야합니다 | ✓ | ✓ |
| miko_2300 | 의견은 '어떻게'가 아니라 '왜'를 설명해야합니다. | ✓ | - |
| miko_2301 | AAA 테스트에서 명백한 의견을 사용하지 마십시오 | ✓ | ✓ |
| miko_2302 | 댓글을 달린 코드를 유지하지 마십시오 | ✓ | - |
| miko_2303 | 기간으로 댓글을 종료하지 마십시오 | ✓ | ✓ |
| miko_2304 | 의견을 질문으로 공식화하지 마십시오 | ✓ | - |
| miko_2305 | 주석에는 이중 기간을 사용하지 마십시오 | ✓ | ✓ |
| miko_2306 | 기간으로 의견을 종료합니다 | - | - |
| miko_2307 | 댓글은 '성공하지 못한'대신 '실패'라는 문구를 사용해야합니다. | ✓ | ✓ |
| miko_2308 | 브레이스를 닫기 전에 단일 줄에 댓글을 작성하지 말고 코드 후 | ✓ | ✓ |
| miko_2309 | 댓글은 수축을 사용해서는 안됩니다. | ✓ | ✓ |
| miko_2310 | 의견은 '왜'가 아니라 '왜'를 설명해야합니다. | ✓ | - |
| miko_2311 | 분리기 주석을 사용하지 마십시오 | ✓ | ✓ |
| ID | 제목 | 기본적으로 활성화됩니다 | CodeFix 사용 가능 |
|---|---|---|---|
| miko_3000 | 빈 지역을 사용하지 마십시오 | ✓ | - |
| miko_3001 | 맞춤 대표는 사용해서는 안됩니다 | ✓ | - |
| miko_3002 | 클래스에는 종속성이 너무 많아서는 안됩니다 | ✓ | - |
| miko_3003 | 이벤트는 이벤트에 대한 .NET 프레임 워크 설계 지침을 따라야합니다 | ✓ | - |
| miko_3004 | Eventargs의 속성 세터는 개인이어야합니다 | ✓ | - |
| miko_3005 | 'try'라는 메소드는 Trier-Doer-Pattern을 따라야합니다 | ✓ | - |
| miko_3006 | 'CancellationToken'매개 변수는 마지막 메소드 매개 변수 여야합니다 | ✓ | - |
| miko_3007 | 동일한 방법으로 LINQ 메소드 및 선언 쿼리 구문을 사용하지 마십시오. | ✓ | - |
| miko_3008 | 방법은 외부에서 변경할 수있는 컬렉션을 반환해서는 안됩니다. | ✓ | - |
| miko_3009 | 명령은 이름이 지정된 메소드 만 호출해야하며 Lambda 표현이 없습니다. | ✓ | - |
| miko_3010 | 예약 된 예외 유형을 만들거나 던지지 마십시오 | ✓ | - |
| miko_3011 | argumentexceptions (또는 하위 유형)가 올바른 매개 변수 이름을 제공해야합니다. | ✓ | ✓ |
| miko_3012 | argumentoutOutOfRangeExceptions (또는 하위 유형)를 던지는 예외가 발생하는 실제 값을 제공해야합니다. | ✓ | ✓ |
| miko_3013 | 'switch'문의 '기본'조항은 ArgumentOutOfRangeException (또는 하위 유형)을 던져야하지만 ArgumentException은 없습니다. | ✓ | ✓ |
| miko_3014 | InvalidoPerationException, NotimplementedException 및 NotUpportedException은 메시지로 이유가 있어야합니다. | ✓ | ✓ |
| miko_3015 | 무효화 exceptions (ArgumentExceptions 또는 하위 유형 대신)를 버리려면 매개 변수가없는 방법의 부적절한 상태를 나타냅니다. | ✓ | ✓ |
| miko_3016 | 부적절한 재산 반환 값의 부적절한 상태에 대해 ArgumentNullexception을 던지지 마십시오. | ✓ | ✓ |
| miko_3017 | 새로운 예외를 던질 때 예외를 삼키지 마십시오 | ✓ | ✓ |
| miko_3018 | 공개적으로 가시적 인 일회용 유형의 방법에 대한 ObjectDispossionException을 던지십시오 | ✓ | - |
| miko_3020 | 'task.fromresult'대신 'task.completedtask'를 사용하십시오. | ✓ | ✓ |
| miko_3021 | 구현에서 'task.run'을 사용하지 마십시오 | ✓ | - |
| miko_3022 | 작업 <ienumerable> 또는 작업 <ienumerable <t >>를 반환하지 마십시오 | ✓ | - |
| miko_3023 | 'CancellationTokenSource'를 매개 변수로 사용하지 마십시오 | ✓ | - |
| miko_3024 | 참조 매개 변수에서 [ref] 키워드를 사용하지 마십시오 | ✓ | - |
| miko_3025 | 메소드 매개 변수를 다시 할당하지 마십시오 | ✓ | - |
| miko_3026 | 사용하지 않은 매개 변수를 제거해야합니다 | ✓ | - |
| miko_3027 | 향후 사용을 위해 매개 변수를 예약하도록 표시되어서는 안됩니다. | ✓ | - |
| miko_3028 | Lambda 매개 변수에 null을 할당하지 마십시오 | ✓ | - |
| miko_3029 | 이벤트 등록은 메모리 누출을 유발해서는 안됩니다 | ✓ | - |
| miko_3030 | 방법은 Demeter의 법칙을 따라야합니다 | - | - |
| miko_3031 | iclonable.clone ()은 구현되지 않아야합니다 | ✓ | - |
| miko_3032 | 생성 된 'PropertyChangeDeventArgs'인스턴스의 속성 이름에 대해 cinch 대신 'nameof'를 사용하십시오. | ✓ | ✓ |
| miko_3033 | 생성 된 'PropertyChangingEventArgs'및 'PropertyChangedEventArgs'인스턴스에 대한 속성 이름에 'nameof'를 사용하십시오. | ✓ | ✓ |
| miko_3034 | PropertyChanged Event Raiser는 [CallermemberName] 속성을 사용해야합니다 | ✓ | ✓ |
| miko_3035 | 타임 아웃없이 'Waitone'메소드를 호출하지 마십시오 | ✓ | - |
| miko_3036 | 생성자 대신 '타임 스팬'공장 방법을 사용하는 것이 좋습니다 | ✓ | ✓ |
| miko_3037 | 타임 아웃에 마법 숫자를 사용하지 마십시오 | ✓ | - |
| miko_3038 | 마법 번호를 사용하지 마십시오 | ✓ | - |
| miko_3039 | 속성은 LINQ 또는 수율을 사용해서는 안됩니다 | ✓ | - |
| miko_3040 | 2 값 이상이 필요하지 않을 것이라고 확신하지 않는 한 부울을 사용하지 마십시오. | ✓ | - |
| miko_3041 | Eventargs는 대의원을 사용하지 않아야합니다 | ✓ | - |
| miko_3042 | EventArgs는 인터페이스를 구현해서는 안됩니다 | ✓ | - |
| miko_3043 | WeakeventManager 이벤트 (DE-) 등록에 'Nameof'를 사용하십시오 | ✓ | ✓ |
| miko_3044 | 'nameof'를 사용하여 'PropertyChangingEventargs'와 'PropertyChangedEventArgs'의 속성 이름을 비교하십시오. | ✓ | ✓ |
| miko_3045 | EventManager 이벤트 등록에는 'Nameof'를 사용하십시오 | ✓ | ✓ |
| miko_3046 | 속성 제기 방법의 속성 이름에는 '이름 이름'을 사용하십시오 | ✓ | ✓ |
| miko_3047 | Applied [ContentProperty] 속성에 'Nameof'를 사용하십시오 | ✓ | ✓ |
| miko_3048 | ValueConverters는 [ValueConversion] 속성을 적용해야합니다 | ✓ | - |
| miko_3049 | 열기 멤버는 [설명] 속성을 적용해야합니다 | ✓ | - |
| miko_3050 | 의존성 전문가 필드는 '공개 정적 읽기'여야합니다. | ✓ | ✓ |
| miko_3051 | 종속성 사전 장비 필드를 올바르게 등록해야합니다 | ✓ | ✓ |
| miko_3052 | 의존성 프로퍼티키 필드는 비 공개 '정적 리디 틀리'여야합니다. | ✓ | ✓ |
| miko_3053 | 종속성 프로퍼티 키 필드를 올바르게 등록해야합니다 | ✓ | - |
| miko_3054 | 읽기 전용 종속성 전문가에게는 의존성 분비 자 식별자가 노출되어야합니다 | ✓ | ✓ |
| miko_3055 | ViewModels는 InotifyPropertyChanged를 구현해야합니다 | ✓ | - |
| miko_3060 | Debug.Assert 또는 Trace.Assert를 사용하지 않아야합니다 | ✓ | ✓ |
| miko_3061 | 로거는 적절한 로그 범주를 사용해야합니다 | ✓ | - |
| miko_3062 | 결장과의 예외를위한 로그 메시지 종료 | ✓ | ✓ |
| miko_3063 | 점으로 비 예외 로그 메시지를 종료합니다 | ✓ | ✓ |
| miko_3064 | 로그 메시지는 수축을 사용하지 않아야합니다. | ✓ | ✓ |
| miko_3065 | Microsoft 로깅 호출은 보간 문자열을 사용해서는 안됩니다 | ✓ | ✓ |
| miko_3070 | ienumerable을 위해 null을 반환하지 마십시오 | ✓ | - |
| miko_3071 | 작업을 위해 Null을 반환하지 마십시오 | ✓ | - |
| miko_3072 | 비 개인적인 방법은 'List <>'또는 'Dictionary <>'을 반환해서는 안됩니다. | ✓ | - |
| miko_3073 | 객체를 부분적으로 초기화하지 마십시오 | ✓ | - |
| miko_3074 | 생성자에서 'Ref'또는 'Out'매개 변수를 정의하지 마십시오 | ✓ | - |
| miko_3075 | 내부 및 개인 유형은 정적 또는 밀봉되어야합니다. | ✓ | ✓ |
| miko_3076 | 아래 또는 다른 유형 부품에서 정적 멤버로 정적 멤버를 초기화하지 마십시오. | ✓ | - |
| miko_3077 | 열거를 반환하는 속성은 기본값이 있어야합니다. | ✓ | ✓ |
| miko_3078 | 열거적인 멤버는 기본값을 가져야합니다 | ✓ | ✓ |
| miko_3079 | Hresults는 16 진수로 작성해야합니다 | ✓ | ✓ |
| miko_3080 | 변수를 할당 할 때 '스위치 ... break'대신 'switch ... return'을 사용합니다. | ✓ | - |
| miko_3081 | 논리적 인 조건보다 패턴 일치를 선호합니다 | ✓ | ✓ |
| miko_3082 | 'true'또는 'false'와의 논리적 비교에서 패턴 일치하는 것을 선호합니다. | ✓ | ✓ |
| miko_3083 | 널 체크에 대한 패턴 매칭을 선호합니다 | ✓ | ✓ |
| miko_3084 | 비교를 위해 왼쪽에 상수를 놓지 마십시오. | ✓ | ✓ |
| miko_3085 | 조건부 진술은 짧아야합니다 | ✓ | - |
| miko_3086 | 조건부 진술을 중첩하지 마십시오 | ✓ | - |
| miko_3087 | 부정적인 복잡한 조건을 사용하지 마십시오 | ✓ | - |
| miko_3088 | 널 검사하지 않은 패턴 매칭을 선호합니다 | ✓ | ✓ |
| miko_3089 | 'if'문의 조건으로 간단한 상수 속성 패턴을 사용하지 마십시오. | ✓ | ✓ |
| miko_3090 | 마침내 블록에 예외를 제외하지 마십시오 | ✓ | - |
| miko_3091 | 마침내 블록에서 이벤트를 제기하지 마십시오 | ✓ | - |
| miko_3092 | 자물쇠로 이벤트를 제기하지 마십시오 | ✓ | - |
| miko_3093 | 자물쇠 내부의 대표를 호출하지 마십시오 | ✓ | - |
| miko_3094 | 잠금 장치 내부의 매개 변수의 메소드 또는 속성을 호출하지 마십시오. | ✓ | - |
| miko_3095 | 코드 블록은 비어 있지 않아야합니다 | ✓ | - |
| miko_3096 | 대형 스위치 문 대신 사전을 사용하십시오 | ✓ | - |
| miko_3097 | 객체를 입력하고 반환하기 위해 캐스트하지 마십시오 | ✓ | - |
| miko_3098 | 억제 된 메시지의 정당화는 설명해야합니다 | ✓ | - |
| miko_3099 | 열거 값을 NULL과 비교하지 마십시오 | ✓ | ✓ |
| miko_3100 | 테스트중인 테스트 클래스 및 유형은 동일한 네임 스페이스에 속합니다. | ✓ | - |
| miko_3101 | 테스트 클래스에는 테스트가 포함되어야합니다 | ✓ | - |
| miko_3102 | 테스트 방법은 조건부 진술을 포함해서는 안됩니다 (예 : 'if', 'switch'등). | ✓ | - |
| miko_3103 | 테스트 방법은 'guid.newguid ()'를 사용하지 않아야합니다. | ✓ | ✓ |
| miko_3104 | Nunit의 [Compinatorial] 속성을 올바르게 사용하십시오 | ✓ | ✓ |
| miko_3105 | 테스트 방법은 Nunit의 유창한 Assert 접근법을 사용해야합니다 | ✓ | ✓ |
| miko_3106 | 주장은 평등이나 비교 연산자를 사용해서는 안됩니다 | ✓ | - |
| miko_3107 | MOQ Mock Condition Matcher는 모의에만 사용해야합니다. | ✓ | ✓ |
| miko_3108 | 테스트 방법은 어설 션을 사용해야합니다 | ✓ | - |
| miko_3109 | 다수의 주장은 주장 메시지를 사용해야한다 | ✓ | ✓ |
| miko_3110 | 주장은 'count'또는 'length'를 사용해서는 안됩니다. | ✓ | ✓ |
| miko_3111 | 주장은 'is.equalto (0)'대신 'is.zero'를 사용해야합니다. | ✓ | ✓ |
| miko_3112 | 주장은 'has.count.zero'대신 'is.empty'를 사용해야합니다. | ✓ | ✓ |
| miko_3113 | fluentAssertions를 사용하지 마십시오 | ✓ | ✓ |
| miko_3114 | 'new Mock <t> (). Object'대신 'mock.of <t> ()'를 사용하십시오. | ✓ | ✓ |
| miko_3115 | 테스트 방법에는 코드가 포함되어야합니다 | ✓ | - |
| miko_3116 | 테스트 초기화 방법에는 코드가 포함되어야합니다 | ✓ | - |
| miko_3117 | 테스트 정리 방법에는 코드가 포함되어야합니다 | ✓ | - |
| miko_3118 | 테스트 방법은 모호한 LINQ 호출을 사용해서는 안됩니다 | ✓ | - |
| miko_3119 | 테스트 방법은 단순히 완료된 작업을 반환해서는 안됩니다 | ✓ | ✓ |
| miko_3120 | Moq Mocks는 'it.is <> (...)'조건 매칭 대신 값을 사용하여 정확한 값을 확인해야합니다. | ✓ | ✓ |
| miko_3121 | 테스트는 콘크리트 구현과 인터페이스를 테스트해야합니다 | ✓ | - |
| miko_3122 | 테스트 방법은 2 개 이상의 매개 변수를 사용해서는 안됩니다 | ✓ | - |
| miko_3201 | 짧은 방법으로 진술을 반전 할 수있는 경우 | ✓ | ✓ |
| miko_3202 | 모든 경로에서 돌아올 때 긍정적 인 조건을 사용하십시오 | ✓ | ✓ |
| miko_3203 | IF 콘티 닝 명령문은 한 줄 뒤에 반전 될 수 있습니다. | ✓ | ✓ |
| miko_3204 | 다른 조항이있을 때 진술을 반전 할 수있는 경우 부정적인 경우 | ✓ | ✓ |
| miko_3210 | 가장 긴 과부하 만 가상 또는 초록이어야합니다 | ✓ | - |
| miko_3211 | 공공 유형에는 최종화기가 없어야합니다 | ✓ | - |
| miko_3212 | 다른 처분 방법을 제공하여 개발자를 혼동하지 마십시오 | ✓ | - |
| miko_3213 | 매개 변수가없는 처분 방법은 기본 처분 패턴을 따릅니다 | ✓ | - |
| miko_3214 | 인터페이스에는 '시작/끝'또는 '입력/종료'범위 정의 메소드가 포함되어 있지 않습니다 | ✓ | - |
| miko_3215 | 콜백은 '술어 <bool>'대신 'func <t, bool>'이어야합니다. | ✓ | ✓ |
| miko_3216 | 초기화기가있는 정적 필드는 읽기 전용이어야합니다 | ✓ | ✓ |
| miko_3217 | 다른 일반 유형을 가진 일반 유형을 유형 인수로 사용하지 마십시오. | ✓ | - |
| miko_3218 | 예상치 못한 장소에서 확장 방법을 정의하지 마십시오 | ✓ | - |
| miko_3219 | 공개 회원은 '가상'이되어서는 안됩니다. | ✓ | - |
| miko_3220 | 논리적 '&&'또는 '||' 'true'또는 'false'를 사용하는 조건을 단순화해야합니다 | ✓ | ✓ |
| miko_3221 | gethashcode 오버라이드는 'hashcode.combine'을 사용해야합니다. | ✓ | ✓ |
| miko_3222 | 문자열 비교를 단순화 할 수 있습니다 | ✓ | ✓ |
| miko_3223 | 참조 비교를 단순화 할 수 있습니다 | ✓ | ✓ |
| miko_3224 | 가치 비교를 단순화 할 수 있습니다 | ✓ | ✓ |
| miko_3225 | 중복 비교를 단순화 할 수 있습니다 | ✓ | ✓ |
| miko_3301 | 단일 진술에 대한 괄호로 된 Lambda 발현 블록 대신 Lambda 발현체를 선호합니다. | ✓ | ✓ |
| miko_3302 | 단일 매개 변수에 대한 괄호 화 된 람다 발현체 대신 간단한 람다 발현체를 선호합니다. | ✓ | ✓ |
| miko_3401 | 네임 스페이스 계층 구조는 너무 깊지 않아야합니다 | ✓ | - |
| miko_3501 | Null-Conditional Operator에 대한 귀중한 경고를 억제하지 마십시오 | ✓ | ✓ |
| miko_3502 | LINQ 호출에서 무효 경고를 억제하지 마십시오 | ✓ | ✓ |
| ID | 제목 | 기본적으로 활성화됩니다 | CodeFix 사용 가능 |
|---|---|---|---|
| miko_4001 | 동일한 이름의 메소드는 매개 변수 수에 따라 주문해야합니다. | ✓ | ✓ |
| miko_4002 | 동일한 이름과 접근성을 가진 방법을 나란히 배치해야합니다. | ✓ | ✓ |
| miko_4003 | 방법을 생성자 및 최종화기 바로 뒤에 배치해야합니다. | ✓ | ✓ |
| miko_4004 | 동일한 접근성의 다른 모든 방법보다 먼저 배치해야합니다. | ✓ | ✓ |
| miko_4005 | 유형에 이름을 부여하는 인터페이스는 유형의 선언 후 바로 이름을 배치해야합니다. | ✓ | ✓ |
| miko_4007 | 연산자는 방법 앞에 배치해야합니다 | ✓ | ✓ |
| miko_4008 | gethashcode 방법은 동등한 방법 바로 뒤에 배치해야합니다 | ✓ | ✓ |
| miko_4101 | 테스트 초기화 방법은 일회성 방법 직후에 주문해야합니다. | ✓ | ✓ |
| miko_4102 | 테스트 초기화 방법과 테스트 방법 전에 테스트 정리 방법을 주문해야합니다. | ✓ | ✓ |
| miko_4103 | 일회성 테스트 초기화 방법을 다른 모든 방법 전에 주문해야합니다. | ✓ | ✓ |
| miko_4104 | 일회성 테스트 정리 방법은 일회성 테스트 초기화 방법 직후에 주문해야합니다. | ✓ | ✓ |
| ID | 제목 | 기본적으로 활성화됩니다 | CodeFix 사용 가능 |
|---|---|---|---|
| miko_5001 | 'Debug'및 'Debugformat'메소드는 'isdebugenabled'후에 만 호출해야합니다. | ✓ | ✓ |
| miko_5002 | 'xxxformat'메소드는 여러 인수만으로 호출해야합니다 | ✓ | ✓ |
| miko_5003 | 예외를 위해 올바른 로그 방법을 호출해야합니다 | ✓ | - |
| miko_5010 | 값 유형에서 'Object.equals ()'를 사용하지 마십시오 | ✓ | ✓ |
| miko_5011 | 문자열을 += 연산자와 연결하지 마십시오 | ✓ | - |
| miko_5012 | 재귀 적으로 정의 된 구조에 '수율 반환'을 사용하지 마십시오 | ✓ | - |
| miko_5013 | 빈 배열을 생성하지 마십시오 | ✓ | ✓ |
| miko_5014 | 반환 값이 읽기 전용 인 경우 빈 목록을 작성하지 마십시오. | ✓ | ✓ |
| miko_5015 | 인턴 문자 리터럴은 아닙니다 | ✓ | ✓ |
| miko_5016 | 'list.removeall'에서 조회를 위해 해시를 사용하십시오. | ✓ | - |
| miko_5017 | 문자 그럴로 지정된 필드 또는 변수는 일정해야합니다. | ✓ | ✓ |
| ID | 제목 | 기본적으로 활성화됩니다 | CodeFix 사용 가능 |
|---|---|---|---|
| miko_6001 | 로그 문은 빈 줄로 둘러싸여 있어야합니다 | ✓ | ✓ |
| miko_6002 | 주장 진술은 빈 줄로 둘러싸여 있어야합니다 | ✓ | ✓ |
| miko_6003 | 로컬 변수 진술에는 빈 줄이 앞에옵니다 | ✓ | ✓ |
| miko_6004 | 가변 할당 문은 빈 줄에 앞서야합니다 | ✓ | ✓ |
| miko_6005 | Return statements should be preceded by blank lines | ✓ | ✓ |
| MiKo_6006 | Awaited statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6007 | Test statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6008 | Using directives should be preceded by blank lines | ✓ | ✓ |
| MiKo_6009 | Try statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6010 | If statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6011 | Lock statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6012 | foreach loops should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6013 | for loops should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6014 | while loops should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6015 | do/while loops should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6016 | using statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6017 | switch statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6018 | break statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6019 | continue statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6020 | throw statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6021 | ArgumentNullException.ThrowIfNull statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6022 | ArgumentException.ThrowIfNullOrEmpty statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6023 | ArgumentOutOfRangeException.ThrowIf statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6024 | ObjectDisposedException.ThrowIf statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6030 | Open braces of initializers should be placed directly below the corresponding type definition | ✓ | ✓ |
| MiKo_6031 | Question and colon tokens of ternary operators should be placed directly below the corresponding condition | ✓ | ✓ |
| MiKo_6032 | Multi-line parameters are positioned outdented at end of method | ✓ | ✓ |
| MiKo_6033 | Braces of blocks below case sections should be placed directly below the corresponding case keyword | ✓ | ✓ |
| MiKo_6034 | Dots should be placed on same line(s) as invoked members | ✓ | ✓ |
| MiKo_6035 | Open parenthesis should be placed on same line(s) as invoked methods | ✓ | ✓ |
| MiKo_6036 | Lambda blocks should be placed directly below the corresponding arrow(s) | ✓ | ✓ |
| MiKo_6037 | Single arguments should be placed on same line(s) as invoked methods | ✓ | ✓ |
| MiKo_6038 | Casts should be placed on same line(s) | ✓ | ✓ |
| MiKo_6039 | Return values should be placed on same line(s) as return keywords | ✓ | ✓ |
| MiKo_6040 | Consecutive invocations spaning multiple lines should be aligned by their dots | ✓ | ✓ |
| MiKo_6041 | Assignments should be placed on same line(s) | ✓ | ✓ |
| MiKo_6042 | 'new' keywords should be placed on same line(s) as the types | ✓ | ✓ |
| MiKo_6043 | Expression bodies of lambdas should be placed on same line as lambda itself when fitting | ✓ | ✓ |
| MiKo_6044 | Operators such as '&&' or '||' should be placed on same line(s) as their (right) operands | ✓ | ✓ |
| MiKo_6045 | Comparisons using operators such as '==' or '!=' should be placed on same line(s) | ✓ | ✓ |
| MiKo_6046 | Calculations using operators such as '+' or '%' should be placed on same line(s) | ✓ | ✓ |
| MiKo_6047 | Braces of switch expressions should be placed directly below the corresponding switch keyword | ✓ | ✓ |
| MiKo_6048 | Logical conditions should be placed on a single line | ✓ | ✓ |
| MiKo_6049 | Event (un-)registrations should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6050 | Multi-line arguments are positioned outdented at end of method call | ✓ | ✓ |
| MiKo_6051 | Colon of constructor call shall be placed on same line as constructor call | ✓ | ✓ |
| MiKo_6052 | Colon of list of base types shall be placed on same line as first base type | ✓ | ✓ |
| MiKo_6053 | Single-line arguments shall be placed on single line | ✓ | ✓ |
| MiKo_6054 | Lambda arrows shall be placed on same line as the parameter(s) of the lambda | ✓ | ✓ |
| MiKo_6055 | Assignment statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6056 | Brackets of collection expressions should be placed directly at the same place collection initializer braces would be positioned | ✓ | ✓ |
| MiKo_6057 | Type parameter constraint clauses should be aligned vertically | ✓ | ✓ |
| MiKo_6058 | Type parameter constraint clauses should be indented below parameter list | ✓ | ✓ |
| MiKo_6059 | Multi-line conditions are positioned outdented below associated calls | ✓ | ✓ |
| MiKo_6060 | Switch case labels should be placed on same line | ✓ | ✓ |
| MiKo_6061 | Switch expression arms should be placed on same line | ✓ | ✓ |
| MiKo_6070 | Console statements should be surrounded by blank lines | ✓ | ✓ |
| MiKo_6071 | Local using statements should be surrounded by blank lines | ✓ | ✓ |