MiKo Analyzers
1.0.0
Fornece analisadores baseados na plataforma .NET Compiler (Roslyn) e podem ser usados dentro do Visual Studio 2019 (v16.11) ou 2022 (v17.11).
Como instalar um analisador Roslyn é descrito aqui.
Capturas de tela sobre como usar esses analisadores podem ser encontradas aqui.
As tabelas a seguir listam todas as 473 regras atualmente fornecidas pelo analisador.
| EU IA | Título | Ativado por padrão | Codefix disponível |
|---|---|---|---|
| Miko_0001 | O método é muito grande | ✓ | - |
| Miko_0002 | O método é muito complexo | ✓ | - |
| Miko_0003 | Tipo é muito grande | ✓ | - |
| Miko_0004 | O método tem muitos parâmetros | ✓ | - |
| Miko_0005 | A função local é muito grande | ✓ | - |
| Miko_0006 | A função local é muito complexa | ✓ | - |
| Miko_0007 | A função local tem muitos parâmetros | ✓ | - |
| EU IA | Título | Ativado por padrão | Codefix disponível |
|---|---|---|---|
| Miko_1000 | Os tipos de 'System.EventArgs' devem ser sufixados com 'EventArgs' | ✓ | ✓ |
| Miko_1001 | Os parâmetros 'System.EventArgs' devem ser nomeados 'e' | ✓ | ✓ |
| Miko_1002 | Os parâmetros devem ser nomeados de acordo com as diretrizes de design da estrutura .NET para manipuladores de eventos | ✓ | ✓ |
| Miko_1003 | Os nomes dos métodos de manuseio de eventos devem seguir as diretrizes de design da estrutura .NET | ✓ | ✓ |
| Miko_1004 | Os eventos não devem conter o termo 'evento' em seus nomes | ✓ | ✓ |
| Miko_1005 | As variáveis 'System.EventArgs' devem ser nomeadas corretamente | ✓ | ✓ |
| Miko_1006 | Os eventos devem usar 'EventHandler <T>' com 'EventArgs', que são nomeados após o evento | ✓ | - |
| Miko_1007 | Eventos e seus tipos correspondentes 'EventArgs' devem estar localizados no mesmo espaço de nome | ✓ | - |
| Miko_1008 | Os parâmetros devem ser nomeados de acordo com as diretrizes do .NET Framework Design for DependencyProperty Event Handlers | ✓ | ✓ |
| Miko_1009 | As variáveis 'System.EventHandler' devem ser nomeadas corretamente | ✓ | ✓ |
| Miko_1010 | Os métodos não devem conter 'canexecute' ou 'executar' em seus nomes | ✓ | ✓ |
| Miko_1011 | Os métodos não devem conter 'fazer' em seus nomes | ✓ | ✓ |
| Miko_1012 | Os métodos devem ser nomeados 'Raise' em vez de 'fogo' | ✓ | ✓ |
| Miko_1013 | Os métodos não devem ser nomeados 'notificar' ou 'onNotify' | ✓ | ✓ |
| Miko_1014 | Os métodos não devem ser nomeados com 'verificação' ambígua | ✓ | ✓ |
| Miko_1015 | Os métodos devem ser nomeados 'Inicialize' em vez de 'init' | ✓ | ✓ |
| Miko_1016 | Os métodos de fábrica devem ser nomeados 'Criar' | ✓ | ✓ |
| Miko_1017 | Os métodos não devem ser prefixados com 'get' ou 'set' se seguido por 'is', 'pode' ou 'tem' | ✓ | ✓ |
| Miko_1018 | Métodos não devem ser sufixados com substantivo de um verbo | ✓ | ✓ |
| Miko_1019 | Os métodos 'claros' e 'remover' devem ser nomeados com base no número de parâmetros | ✓ | ✓ |
| Miko_1020 | Nomes de tipo devem ser limitados em comprimento | - | - |
| MIKO_1021 | Os nomes de métodos devem ser limitados em comprimento | - | - |
| Miko_1022 | Os nomes de parâmetros devem ser limitados em comprimento | - | - |
| Miko_1023 | Os nomes de campo devem ser limitados em comprimento | - | - |
| Miko_1024 | Os nomes de propriedades devem ser limitados em comprimento | - | - |
| Miko_1025 | Os nomes de eventos devem ser limitados em comprimento | - | - |
| Miko_1026 | Nomes variáveis devem ser limitados em comprimento | - | - |
| Miko_1027 | Nomes variáveis em loops devem ser limitados em comprimento | - | - |
| Miko_1028 | Os nomes de funções locais devem ser limitados em comprimento | - | - |
| Miko_1030 | Os tipos não devem ter um marcador 'abstrato' ou 'base' para indicar que são tipos de base | ✓ | ✓ |
| MIKO_1031 | Os tipos de entidade não devem usar um sufixo 'modelo' | ✓ | ✓ |
| Miko_1032 | Métodos que lidar com entidades não devem usar um 'modelo' como marcador | ✓ | ✓ |
| Miko_1033 | Parâmetros que representam entidades não devem usar um sufixo 'modelo' | ✓ | ✓ |
| Miko_1034 | Campos que representam entidades não devem usar um sufixo 'modelo' | ✓ | ✓ |
| Miko_1035 | Propriedades que lidam com entidades não devem usar um marcador de 'modelo' | ✓ | ✓ |
| Miko_1036 | Eventos que lidam com entidades não devem usar um marcador de 'modelo' | ✓ | ✓ |
| Miko_1037 | Os tipos não devem ser sufixados com 'tipo', 'interface', 'classe', 'struct', 'registro' ou 'enum' | ✓ | ✓ |
| Miko_1038 | As classes que contêm métodos de extensão devem terminar com o mesmo sufixo | ✓ | ✓ |
| Miko_1039 | O parâmetro de métodos de extensão 'este' deve ter um nome padrão | ✓ | ✓ |
| Miko_1040 | Os parâmetros não devem ser sufixados com detalhes da implementação | ✓ | - |
| Miko_1041 | Os campos não devem ser sufixados com detalhes de implementação | ✓ | - |
| Miko_1042 | Os parâmetros 'CancellationToken' devem ter nome específico | ✓ | ✓ |
| Miko_1043 | As variáveis 'CancellationToken' devem ter nome específico | ✓ | ✓ |
| Miko_1044 | Os comandos devem ser sufixados com 'comando' | ✓ | ✓ |
| Miko_1045 | Métodos que são invocados por comandos não devem ser sufixados com 'comando' | ✓ | ✓ |
| Miko_1046 | Métodos assíncronos devem seguir o padrão assíncrono baseado em tarefas (TAP) | ✓ | ✓ |
| Miko_1047 | Métodos que não seguem o padrão assíncrono baseado em tarefas (TAP) não devem mentir sobre ser assíncrono | ✓ | ✓ |
| Miko_1048 | As classes que são conversores de valor devem terminar com um sufixo específico | ✓ | ✓ |
| Miko_1049 | Não use termos de requisitos como 'deve', 'deve', 'deve' ou 'precisar' para nomes | ✓ | ✓ |
| Miko_1050 | Os valores de retorno devem ter nomes descritivos | ✓ | ✓ |
| MIKO_1051 | Não parâmetros de sufixo com tipos de delegados | ✓ | ✓ |
| Miko_1052 | Não as variáveis de sufixo com tipos de delegados | ✓ | ✓ |
| Miko_1053 | Não sufixo campos com tipos de delegados | ✓ | ✓ |
| Miko_1054 | Não nomeie os tipos 'ajudante' ou 'utilidade' | ✓ | ✓ |
| Miko_1055 | As propriedades de dependência devem ser sufixadas com 'propriedade' (como na estrutura .NET) | ✓ | ✓ |
| Miko_1056 | As propriedades de dependência devem ser prefixadas com nomes de propriedades (como na estrutura .NET) | ✓ | ✓ |
| Miko_1057 | As chaves da propriedade de dependência devem ser sufixadas com 'chave' (como na estrutura .NET) | ✓ | ✓ |
| Miko_1058 | As chaves da propriedade de dependência devem ser prefixadas com nomes de propriedades (como na estrutura .NET) | ✓ | ✓ |
| Miko_1059 | Não nomeie tipos 'implic' ou 'implementação' | ✓ | ✓ |
| Miko_1060 | Use '<Entity> Notfound' em vez de 'Get <Entity> falhou' ou '<Entidade> Missing' | ✓ | ✓ |
| Miko_1061 | O nome do parâmetro do método 'Try' [out] deve ser específico | ✓ | ✓ |
| Miko_1062 | 'Can/has/contém' métodos, propriedades ou campos deve consistir em apenas algumas palavras | ✓ | - |
| Miko_1063 | Não use abreviações em nomes | ✓ | ✓ |
| Miko_1064 | Os nomes de parâmetros refletem seu significado e não o tipo deles | ✓ | - |
| Miko_1065 | Os parâmetros do operador devem ser nomeados de acordo com as diretrizes de design da estrutura .NET para sobrecargas de operador | ✓ | ✓ |
| Miko_1066 | Os parâmetros do construtor atribuídos a uma propriedade devem ser nomeados após a propriedade | ✓ | ✓ |
| Miko_1067 | Os métodos não devem conter 'executar' em seus nomes | ✓ | ✓ |
| Miko_1068 | Os métodos de fluxo de trabalho devem ser nomeados 'CANRUN' ou 'RUN' | ✓ | - |
| Miko_1069 | Os nomes de propriedades refletem seu significado e não o seu tipo | ✓ | - |
| Miko_1070 | As variáveis de coleção local devem usar o nome do plural | ✓ | ✓ |
| Miko_1071 | As variáveis booleanas locais devem ser nomeadas como declarações e não como perguntas | ✓ | - |
| Miko_1072 | Propriedades ou métodos booleanos devem ser nomeados como declarações e não como perguntas | ✓ | - |
| Miko_1073 | Os campos booleanos devem ser nomeados como declarações e não como perguntas | ✓ | - |
| Miko_1074 | Objetos usados para travar devem ser sufixados com 'bloqueio' | ✓ | - |
| Miko_1075 | Os tipos de não-sistema. | ✓ | ✓ |
| Miko_1076 | Os tipos de eventos de prisma devem ser sufixados com 'evento' | ✓ | ✓ |
| Miko_1077 | Os membros da enum não devem ser sufixados com 'Enum' | ✓ | ✓ |
| Miko_1078 | Os nomes dos métodos do construtor devem começar com 'build' | ✓ | ✓ |
| Miko_1079 | Os repositórios não devem ser sufixados com 'repositório' | ✓ | ✓ |
| Miko_1080 | Os nomes devem conter números em vez de suas grafias | ✓ | - |
| Miko_1081 | Métodos não devem ser sufixados com um número | ✓ | ✓ |
| Miko_1082 | As propriedades não devem ser sufixadas com um número se seus tipos tiverem sufixos numéricos | ✓ | ✓ |
| Miko_1083 | Os campos não devem ser sufixados com um número se seus tipos tiverem sufixos numéricos | ✓ | ✓ |
| Miko_1084 | As variáveis não devem ser sufixadas com um número se seus tipos tiverem sufixos numéricos | ✓ | ✓ |
| Miko_1085 | Os parâmetros não devem ser sufixados com um número | ✓ | ✓ |
| Miko_1086 | Os métodos não devem ser nomeados usando números como gíria | ✓ | - |
| Miko_1087 | Parâmetros do construtor de nome após seus colegas na classe base | ✓ | ✓ |
| Miko_1088 | Instâncias de singleton devem ser nomeadas 'instância' | ✓ | - |
| Miko_1089 | Os métodos não devem ser prefixados com 'Get' | ✓ | ✓ |
| Miko_1090 | Os parâmetros não devem ser sufixados com tipos específicos | ✓ | ✓ |
| Miko_1091 | Variáveis não devem ser sufixadas com tipos específicos | ✓ | ✓ |
| Miko_1092 | Os tipos de 'habilidade' não devem ser sufixados com informações redundantes | ✓ | ✓ |
| Miko_1093 | Não use o sufixo 'objeto' ou 'struct' | ✓ | ✓ |
| Miko_1094 | Não os tipos de sufixo com nomes de namespace passivos | ✓ | - |
| Miko_1095 | Não use 'excluir' e 'remover' em nomes e documentação | ✓ | - |
| Miko_1096 | Os nomes devem usar 'falhas' em vez de 'não -sofisticado' | ✓ | - |
| Miko_1097 | Os nomes de parâmetros não devem seguir o esquema de nomeação para campos | ✓ | ✓ |
| Miko_1098 | Nomes de tipo devem refletir a interface de negócios que eles implementam | ✓ | - |
| Miko_1099 | Parâmetros correspondentes nas sobrecargas de método devem ter nomes idênticos | ✓ | ✓ |
| Miko_1100 | As aulas de teste devem começar com o nome do tipo em teste | ✓ | - |
| Miko_1101 | As aulas de teste devem terminar com 'testes' | ✓ | ✓ |
| Miko_1102 | Os métodos de teste não devem conter 'teste' em seus nomes | ✓ | ✓ |
| Miko_1103 | Os métodos de inicialização do teste devem ser nomeados 'preparetest' | ✓ | ✓ |
| Miko_1104 | Os métodos de limpeza de teste devem ser nomeados 'Cleanupst' | ✓ | ✓ |
| Miko_1105 | Os métodos de inicialização de teste único devem ser nomeados 'preparetetestenvironment' | ✓ | ✓ |
| Miko_1106 | Os métodos únicos de limpeza de teste devem ser nomeados 'CleanUtStenvironment' | ✓ | ✓ |
| Miko_1107 | Os métodos de teste não devem estar em cascal | ✓ | ✓ |
| Miko_1108 | Não nomeie variáveis, parâmetros, campos e propriedades 'Mock', 'Stub', 'Fake' ou 'Shim' | ✓ | ✓ |
| Miko_1109 | Tipos testáveis de prefixo com 'testável' em vez de usar o sufixo 'UT' | ✓ | ✓ |
| Miko_1110 | Métodos de teste com parâmetros devem ser sufixados com sublinhado | ✓ | ✓ |
| Miko_1111 | Métodos de teste sem parâmetros não devem ser sufixados com sublinhado | ✓ | ✓ |
| Miko_1112 | Não nomeie os dados de teste 'arbitrários' | ✓ | ✓ |
| Miko_1113 | Os métodos de teste não devem ser nomeados de acordo com o estilo BDD | ✓ | - |
| Miko_1114 | Os métodos de teste não devem ser nomeados 'happypath' ou 'badpath' | ✓ | - |
| Miko_1115 | Os métodos de teste devem ser nomeados de maneira fluente | ✓ | ✓ |
| Miko_1200 | Nome exceções em blocos de captura de forma consistente | ✓ | ✓ |
| Miko_1201 | Nome exceções como parâmetros consistentemente | ✓ | ✓ |
| Miko_1300 | Identificadores sem importância nas declarações lambda devem ser nomeados '_' | ✓ | ✓ |
| Miko_1400 | Nomes de namespace devem estar no plural | ✓ | - |
| Miko_1401 | Namespaces não devem conter nomes de idiomas técnicos | ✓ | - |
| Miko_1402 | Namespaces não devem ser nomeados após padrões de design específicos para WPF | ✓ | - |
| Miko_1403 | Namespaces não devem ser nomeados após nenhum de seus namespaces dos pais | ✓ | - |
| Miko_1404 | Namespaces não devem conter nomes inespecíficos | ✓ | - |
| Miko_1405 | Namespaces não devem conter 'lib' | ✓ | - |
| Miko_1406 | Os conversores de valor devem ser colocados no espaço para nome de 'conversores' | ✓ | - |
| Miko_1407 | Namespaces de teste não devem conter 'teste' | ✓ | - |
| Miko_1408 | Os métodos de extensão devem ser colocados no mesmo espaço de nome que os tipos estendidos | ✓ | - |
| Miko_1409 | Não prefixo ou sufixo namespaces com sublinhados | ✓ | - |
| EU IA | Título | Ativado por padrão | Codefix disponível |
|---|---|---|---|
| Miko_2000 | A documentação deve ser válida xml | ✓ | ✓ |
| Miko_2001 | Os eventos devem ser documentados corretamente | ✓ | ✓ |
| Miko_2002 | EventArgs deve ser documentado corretamente | ✓ | ✓ |
| Miko_2003 | A documentação dos manipuladores de eventos deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2004 | Documentação dos nomes de parâmetros do manipulador de eventos devem seguir as diretrizes de design da estrutura .NET para manipuladores de eventos | ✓ | ✓ |
| Miko_2005 | As referências textuais a EventArgs devem ser documentadas corretamente | ✓ | - |
| Miko_2006 | Os eventos roteados devem ser documentados como feito pela estrutura .NET | ✓ | ✓ |
| Miko_2010 | As aulas seladas devem documentar sendo selado | ✓ | ✓ |
| Miko_2011 | Classes não lacradas não devem mentir sobre selar | ✓ | ✓ |
| Miko_2012 | <summary> A documentação deve descrever a responsabilidade do tipo | ✓ | ✓ |
| Miko_2013 | <summary> A documentação de enums deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2014 | Os métodos de descarga devem ser documentados como feito pela estrutura .NET | ✓ | ✓ |
| Miko_2015 | A documentação deve usar 'elevar' ou 'arremesso' em vez de 'fogo' | ✓ | ✓ |
| Miko_2016 | A documentação para métodos assíncronos deve começar com frase específica | ✓ | ✓ |
| Miko_2017 | As propriedades de dependência devem ser documentadas como feito pela estrutura .NET | ✓ | ✓ |
| Miko_2018 | A documentação não deve usar os termos ambíguos 'verificação' ou 'teste' | ✓ | ✓ |
| Miko_2019 | <summary> A documentação deve começar com um verbo singular de terceira pessoa (por exemplo "fornece") | ✓ | - |
| Miko_2020 | A documentação herdada deve ser usada com <IritDoc /> | ✓ | ✓ |
| MIKO_2021 | A documentação do parâmetro deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2022 | A documentação dos parâmetros [out] deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2023 | A documentação dos parâmetros booleanos deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2024 | A documentação dos parâmetros de enum deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2025 | A documentação dos parâmetros 'CancelationToken' deve ter uma frase inicial padrão | ✓ | ✓ |
| MIKO_2026 | Os parâmetros usados não devem ser documentados para não ser utilizados | ✓ | - |
| MIKO_2027 | Os parâmetros do construtor de serialização devem ser documentados com uma frase específica | ✓ | ✓ |
| MIKO_2028 | A documentação do parâmetro não deve conter apenas o nome do parâmetro | ✓ | - |
| MIKO_2029 | <HeritDoc> A documentação não deve usar um 'cref' para si mesmo | ✓ | ✓ |
| Miko_2030 | A documentação do valor de retorno deve ter uma frase inicial padrão | ✓ | - |
| Miko_2031 | A documentação do valor do retorno da tarefa deve ter uma frase (inicial) específica | ✓ | ✓ |
| Miko_2032 | A documentação do valor de retorno booleano deve ter uma frase específica | ✓ | ✓ |
| MIKO_2033 | A documentação do valor de retorno da string deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2034 | A documentação do valor do retorno da enum deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2035 | A documentação do valor de retorno da coleção deve ter uma frase inicial padrão | ✓ | ✓ |
| MIKO_2036 | A documentação da propriedade booleana ou enum deve descrever o valor padrão | ✓ | ✓ |
| MIKO_2037 | <summary> A documentação das propriedades de comando deve ter uma frase inicial padrão | ✓ | ✓ |
| MIKO_2038 | <summary> A documentação do comando deve ter uma frase inicial padrão | ✓ | ✓ |
| MIKO_2039 | <summary> A documentação das classes que contêm métodos de extensão deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2040 | <veja Langword = "..."/> deve ser usado em vez de <C> ... </c> | ✓ | ✓ |
| Miko_2041 | <summary> A documentação não deve conter outras tags de documentação | ✓ | ✓ |
| Miko_2042 | A documentação deve usar tags xml '<para/>' em vez de tags html '<br/>' | ✓ | ✓ |
| Miko_2043 | <summary> A documentação dos delegados personalizados deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2044 | Documentação Referências Parâmetros do método corretamente | ✓ | ✓ |
| Miko_2045 | <summary> A documentação não deve fazer referência aos parâmetros | ✓ | ✓ |
| Miko_2046 | A documentação deve referência ao tipo parâmetros corretamente | ✓ | ✓ |
| Miko_2047 | <summary> A documentação dos atributos deve ter uma frase inicial padrão | ✓ | - |
| MIKO_2048 | <summary> A documentação dos conversores de valor deve ter uma frase inicial padrão | ✓ | ✓ |
| Miko_2049 | A documentação deve ser mais explícita e não usar 'será' | ✓ | ✓ |
| Miko_2050 | Exceções devem ser documentadas após a estrutura .NET | ✓ | ✓ |
| MIKO_2051 | Exceções jogadas devem ser documentadas como uma espécie de condição (como '<paramref name = "xyz"/> é <c> 42 </c>') | ✓ | ✓ |
| MIKO_2052 | O lançamento de argumentnullexception deve ser documentado usando uma frase padrão | ✓ | ✓ |
| MIKO_2053 | O lançamento de argumentnullexception deve ser documentado apenas para parâmetros do tipo de referência | ✓ | - |
| Miko_2054 | O lançamento da ArgumentException deve ser documentado usando uma frase inicial padrão | ✓ | ✓ |
| MIKO_2055 | O lançamento do argumentOutOfRangeException deve ser documentado usando uma frase inicial padrão | ✓ | ✓ |
| MIKO_2056 | O arremesso de objectDisposedException deve ser documentado usando uma frase de final padrão | ✓ | ✓ |
| Miko_2057 | Tipos que não são descartáveis não devem jogar uma objectDisposedException | ✓ | ✓ |
| MIKO_2059 | A documentação múltipla da mesma exceção deve ser consolidada em uma | ✓ | ✓ |
| Miko_2060 | As fábricas devem ser documentadas de uma maneira uniforme | ✓ | ✓ |
| MIKO_2070 | <summary> A documentação não deve começar com 'retornos' | ✓ | ✓ |
| Miko_2071 | <summary> documentação para métodos que retornam os tipos de enum não devem conter frase para tipo booleano | ✓ | - |
| Miko_2072 | <summary> A documentação não deve começar com 'tente' | ✓ | ✓ |
| Miko_2073 | <summary> A documentação dos métodos 'contém' deve começar com 'determina se' | ✓ | ✓ |
| Miko_2074 | A documentação do parâmetro do método 'contém' deve ter uma frase final padrão | ✓ | ✓ |
| Miko_2075 | A documentação deve usar o termo 'retorno de chamada' em vez de 'ação', 'func' ou 'função' | ✓ | ✓ |
| Miko_2076 | A documentação deve documentar valores padrão dos parâmetros opcionais | ✓ | ✓ |
| Miko_2077 | <summary> A documentação não deve conter <code> | ✓ | - |
| Miko_2078 | <Code> A documentação não deve conter tags XML | ✓ | - |
| Miko_2079 | <summary> A documentação das propriedades não deve ter texto óbvio | ✓ | ✓ |
| Miko_2080 | <summary> A documentação dos campos deve ter uma frase inicial padrão | ✓ | ✓ |
| MIKO_2081 | <summary> A documentação dos campos somente leitura visível do público deve ter uma frase final padrão | ✓ | ✓ |
| MIKO_2082 | <summary> A documentação dos membros da enum não deve começar com as frases iniciantes de enum <summary> documentação | ✓ | ✓ |
| Miko_2090 | Documentação para Operador de Igualdade deve ter frase padrão | ✓ | ✓ |
| MIKO_2091 | A documentação para o operador de desigualdade deve ter frase padrão | ✓ | ✓ |
| Miko_2100 | <somemle> A documentação deve começar com a frase padrão descritiva | ✓ | ✓ |
| Miko_2101 | <somemle> A documentação deve mostrar o exemplo de código nas tags <code> | ✓ | ✓ |
| Miko_2200 | Use uma carta capitalizada para iniciar o comentário | ✓ | ✓ |
| MIKO_2201 | Use uma carta capitalizada para iniciar as frases no comentário | ✓ | - |
| Miko_2202 | A documentação deve usar o termo 'identificador' em vez de 'id' | ✓ | ✓ |
| Miko_2203 | A documentação deve usar o termo 'identificador exclusivo' em vez de 'GUID' | ✓ | ✓ |
| Miko_2204 | A documentação deve usar <lista> para enumerações | ✓ | ✓ |
| Miko_2205 | A documentação deve usar <Sote> para obter informações importantes | ✓ | - |
| Miko_2206 | A documentação não deve usar o termo 'bandeira' | ✓ | - |
| Miko_2207 | <summary> A documentação deve ser curta | ✓ | - |
| MIKO_2208 | A documentação não deve usar o termo 'uma instância de' | ✓ | ✓ |
| Miko_2209 | Não use períodos duplos na documentação | ✓ | ✓ |
| Miko_2210 | A documentação deve usar o termo 'informações' em vez de 'informações' | ✓ | ✓ |
| Miko_2211 | Os membros da enum não devem ter seções <sessments> | ✓ | ✓ |
| Miko_2212 | A documentação deve usar a frase 'falhada' em vez de 'não foi bem -sucedida' | ✓ | ✓ |
| Miko_2213 | A documentação não deve usar a contração "não" | ✓ | ✓ |
| Miko_2214 | A documentação não deve conter linhas vazias | ✓ | ✓ |
| Miko_2215 | As frases em documentação devem ser curtas | ✓ | - |
| Miko_2216 | Use <amamref> em vez de <amp> para referência parâmetros | ✓ | ✓ |
| Miko_2217 | A documentação <List> é feita corretamente | ✓ | ✓ |
| Miko_2218 | A documentação deve usar termos mais curtos em vez de a longo prazo 'usado para/in/by' | ✓ | ✓ |
| Miko_2219 | Não use pontos de pergunta ou explicação na documentação | ✓ | - |
| Miko_2220 | A documentação deve usar 'para procurar' em vez de 'procurar', 'para inspecionar' ou 'para testar' | ✓ | ✓ |
| Miko_2221 | A documentação não deve usar tags XML vazias | ✓ | - |
| Miko_2222 | A documentação deve usar o termo 'identificação' em vez de 'identificação' | ✓ | ✓ |
| Miko_2223 | A documentação vincula referências via <ver cref = "..."/> | ✓ | - |
| Miko_2224 | A documentação deve ter tags e textos XML colocados em linhas separadas | ✓ | ✓ |
| Miko_2225 | O código marcado com tags <c> deve ser colocado em linha única | ✓ | ✓ |
| Miko_2226 | A documentação deve explicar o 'porquê' e não o 'que' | ✓ | - |
| Miko_2227 | A documentação não deve conter supressões de resharper | ✓ | - |
| Miko_2228 | A documentação deve usar uma redação positiva em vez de negativo | ✓ | - |
| Miko_2229 | A documentação não deve conter fragmentos XML de esquerda | ✓ | ✓ |
| Miko_2231 | A documentação dos métodos substituídos 'gethashcode ()' deve usar '<indeitdoc />' marcador | ✓ | ✓ |
| Miko_2232 | <summary> A documentação não deve estar vazia | ✓ | ✓ |
| Miko_2233 | Tags XML devem ser colocadas em linha única | ✓ | ✓ |
| Miko_2300 | Os comentários devem explicar o 'porquê' e não o 'como' | ✓ | - |
| Miko_2301 | Não use comentários óbvios nos testes AAA | ✓ | ✓ |
| Miko_2302 | Não mantenha o código que é comentado | ✓ | - |
| Miko_2303 | Não termine os comentários com um período | ✓ | ✓ |
| Miko_2304 | Não formule comentários como perguntas | ✓ | - |
| Miko_2305 | Não use períodos duplos nos comentários | ✓ | ✓ |
| Miko_2306 | End Comentários com um período | - | - |
| Miko_2307 | Os comentários devem usar a frase 'falhada' em vez de 'não foi bem -sucedida' | ✓ | ✓ |
| Miko_2308 | Não coloque comentar na linha única antes de fechar a cinta, mas após o código | ✓ | ✓ |
| Miko_2309 | Comentários não devem usar a contração "não" | ✓ | ✓ |
| Miko_2310 | Os comentários devem explicar o 'porquê' e não o 'que' | ✓ | - |
| Miko_2311 | Não use comentários do separador | ✓ | ✓ |
| EU IA | Título | Ativado por padrão | Codefix disponível |
|---|---|---|---|
| Miko_3000 | Não use regiões vazias | ✓ | - |
| Miko_3001 | Delegados personalizados não devem ser usados | ✓ | - |
| Miko_3002 | As aulas não devem ter muitas dependências | ✓ | - |
| Miko_3003 | Os eventos devem seguir as diretrizes de design da estrutura .NET para eventos | ✓ | - |
| Miko_3004 | Os setters de propriedades de EventArgs devem ser privados | ✓ | - |
| Miko_3005 | Métodos denominados 'Try' devem seguir o padrão do trier-doador | ✓ | - |
| Miko_3006 | O parâmetro 'CancellationToken' deve ser o último parâmetro do método | ✓ | - |
| Miko_3007 | Não use o método LINQ e a sintaxe de consulta declarativa no mesmo método | ✓ | - |
| Miko_3008 | O método não deve retornar coleções que podem ser alteradas de fora | ✓ | - |
| Miko_3009 | Os comandos devem invocar apenas métodos nomeados e sem expressões de lambda | ✓ | - |
| Miko_3010 | Não crie ou jogue tipos de exceção reservados | ✓ | - |
| Miko_3011 | ArgumentExceptions (ou seus subtipos) deve fornecer o nome correto do parâmetro | ✓ | ✓ |
| Miko_3012 | Argumento de Argumento de RangeExceptions (ou seus subtipos) devem fornecer o valor real que faz com que a exceção seja jogada | ✓ | ✓ |
| Miko_3013 | A cláusula 'padrão' em declarações de 'switch' deve lançar um argumentoToToRangeException (ou subtipo), mas sem argumentoException | ✓ | ✓ |
| Miko_3014 | InvalidoPoperationException, notimpleledException e notsupportedException devem ter um motivo como mensagem | ✓ | ✓ |
| Miko_3015 | Jogue o invalidoperationExceptions (em vez de argumentos ou seus subtipos) para indicar estados inadequados de métodos sem parâmetros | ✓ | ✓ |
| Miko_3016 | Não jogue argumentnullexception para estados inapropriados de valores de retorno de propriedades | ✓ | ✓ |
| Miko_3017 | Não engole exceções ao jogar novas exceções | ✓ | ✓ |
| Miko_3018 | Lançar objectDisposedExceptions em métodos publicamente visíveis de tipos descartáveis | ✓ | - |
| Miko_3020 | Use 'Task.completedTask' em vez de 'tarefa.FromResult' | ✓ | ✓ |
| Miko_3021 | Não use 'tarefa.run' na implementação | ✓ | - |
| Miko_3022 | Não retorne tarefa <Ienumerable> ou tarefa <ienumerable <T>> | ✓ | - |
| Miko_3023 | Não use 'cancelationTokensource' como parâmetro | ✓ | - |
| Miko_3024 | Não use a palavra -chave [Ref] nos parâmetros de referência | ✓ | - |
| Miko_3025 | Não assine os parâmetros do método | ✓ | - |
| Miko_3026 | Os parâmetros não utilizados devem ser removidos | ✓ | - |
| Miko_3027 | Os parâmetros não devem ser marcados para serem reservados para uso futuro | ✓ | - |
| Miko_3028 | Não atribua aos parâmetros NULL aos lambda | ✓ | - |
| Miko_3029 | Os registros de eventos não devem causar vazamentos de memória | ✓ | - |
| Miko_3030 | Os métodos devem seguir a lei do demeter | - | - |
| Miko_3031 | Icloneable.clone () não deve ser implementado | ✓ | - |
| Miko_3032 | Use 'Nameof' em vez de cambra | ✓ | ✓ |
| Miko_3033 | Use 'Nameof' para nomes de propriedades para criados 'PropertyChangingEventArgs' e 'PropertyChangedEventArgs' Instâncias | ✓ | ✓ |
| Miko_3034 | PropertyChanged Event Raiser deve usar o atributo [callmembername] | ✓ | ✓ |
| Miko_3035 | Não invocar métodos 'wagone' sem tempo limite | ✓ | - |
| Miko_3036 | Prefira usar métodos de fábrica 'Timespan' em vez de construtores | ✓ | ✓ |
| Miko_3037 | Não use números mágicos para tempo limite | ✓ | - |
| Miko_3038 | Não use números mágicos | ✓ | - |
| Miko_3039 | As propriedades não devem usar o LINQ ou o rendimento | ✓ | - |
| Miko_3040 | Não use booleanos, a menos que você tenha certeza absoluta de que nunca precisará de mais de 2 valores | ✓ | - |
| Miko_3041 | EventArgs não devem usar delegados | ✓ | - |
| Miko_3042 | EventArgs não devem implementar interfaces | ✓ | - |
| Miko_3043 | Use 'Nameof' para o WeakeventManager Event (De-) Registros | ✓ | ✓ |
| Miko_3044 | Use 'Nameof' para comparar os nomes de propriedades de 'PropertyChangingEventArgs' e 'PropertyChangedEventArgs' | ✓ | ✓ |
| Miko_3045 | Use 'Nameof' para registros de eventos do EventManager | ✓ | ✓ |
| Miko_3046 | Use 'Nameof' para nomes de propriedades dos métodos de elevação de propriedades | ✓ | ✓ |
| Miko_3047 | Use 'Nameof' para atributos aplicados [ContentProperty] | ✓ | ✓ |
| Miko_3048 | ValueConverters devem ter o atributo [valueConverSion] aplicado | ✓ | - |
| Miko_3049 | Os membros da enum devem ter o atributo [descrição] aplicado | ✓ | - |
| Miko_3050 | Os campos dependencyProperty devem ser "públicos estáticos readnalmente" | ✓ | ✓ |
| Miko_3051 | Os campos de dependênciaProperty devem ser registrados adequadamente | ✓ | ✓ |
| Miko_3052 | Os campos dependencyPropertyKey devem ser publicados 'estáticos readnalmente' | ✓ | ✓ |
| Miko_3053 | Os campos dependencyPropertyKey devem ser registrados adequadamente | ✓ | - |
| Miko_3054 | Uma dependência somente leitura deve ter um identificador de dependência exposto de dependência | ✓ | ✓ |
| Miko_3055 | ViewModels deve implementar InotifyPropertyChanged | ✓ | - |
| Miko_3060 | Debug.Assert ou Trace.Assert não deve ser usado | ✓ | ✓ |
| Miko_3061 | Os madeireiros devem usar uma categoria de log adequada | ✓ | - |
| Miko_3062 | Mensagens de log final para exceções com um cólon | ✓ | ✓ |
| Miko_3063 | Final de mensagens de log não excepcional com um ponto | ✓ | ✓ |
| Miko_3064 | As mensagens de log não devem usar a contração "não" | ✓ | ✓ |
| Miko_3065 | As chamadas de registro da Microsoft não devem usar strings interpolados | ✓ | ✓ |
| Miko_3070 | Não retorne nulo para um ienumerable | ✓ | - |
| Miko_3071 | Não retorne nulo para uma tarefa | ✓ | - |
| Miko_3072 | Métodos não privados não devem retornar 'lista <>' ou 'dicionário <>' | ✓ | - |
| Miko_3073 | Não deixe objetos parcialmente inicializados | ✓ | - |
| Miko_3074 | Não defina parâmetros 'ref' ou 'out' em construtores | ✓ | - |
| Miko_3075 | Tipos internos e privados devem ser estáticos ou selados, a menos que a derivação deles seja necessária | ✓ | ✓ |
| Miko_3076 | Não inicialize o membro estático com membro estático abaixo ou em outra parte do tipo | ✓ | - |
| Miko_3077 | Propriedades que retornam uma enumeração devem ter um valor padrão | ✓ | ✓ |
| Miko_3078 | Os membros da enum devem ter um valor padrão | ✓ | ✓ |
| Miko_3079 | Hresults devem ser escritos em hexadecimal | ✓ | ✓ |
| Miko_3080 | Use 'switch ... retornar' em vez de 'switch ... quebra' ao atribuir variáveis | ✓ | - |
| Miko_3081 | Prefira o padrão correspondente a uma condição lógica e não | ✓ | ✓ |
| Miko_3082 | Prefira a correspondência de padrões em relação a uma comparação lógica com 'verdadeiro' ou 'falsa' | ✓ | ✓ |
| Miko_3083 | Prefira a correspondência de padrões para verificações nulas | ✓ | ✓ |
| Miko_3084 | Não coloque constantes no lado esquerdo para comparações | ✓ | ✓ |
| Miko_3085 | As declarações condicionais devem ser curtas | ✓ | - |
| Miko_3086 | Não aninhe declarações condicionais | ✓ | - |
| Miko_3087 | Não use condições complexas negativas | ✓ | - |
| Miko_3088 | Prefira a correspondência de padrões para verificações não nulas | ✓ | ✓ |
| Miko_3089 | Não use padrões de propriedades constantes simples como condições de declarações 'if' | ✓ | ✓ |
| Miko_3090 | Não jogue exceções em finalmente blocos | ✓ | - |
| Miko_3091 | Não crie eventos em finalmente blocos | ✓ | - |
| Miko_3092 | Não crie eventos em bloqueios | ✓ | - |
| Miko_3093 | Não invoca os delegados dentro de fechaduras | ✓ | - |
| Miko_3094 | Não invoca métodos ou propriedades de parâmetros dentro de bloqueios | ✓ | - |
| Miko_3095 | Os blocos de código não devem estar vazios | ✓ | - |
| Miko_3096 | Use dicionários em vez de grandes declarações de switch | ✓ | - |
| Miko_3097 | Não escane para digitar e retornar objeto | ✓ | - |
| Miko_3098 | Justificativas de mensagens suprimidas devem explicar | ✓ | - |
| Miko_3099 | Não compare valores de enum com nulo | ✓ | ✓ |
| Miko_3100 | Aulas e tipos de teste em teste pertencem ao mesmo namespace | ✓ | - |
| Miko_3101 | As aulas de teste devem conter testes | ✓ | - |
| Miko_3102 | Os métodos de teste não devem conter declarações condicionais (como 'se', 'switch', etc.) | ✓ | - |
| Miko_3103 | Os métodos de teste não devem usar 'guid.newguid ()' | ✓ | ✓ |
| Miko_3104 | Use o atributo [combinatório] do Nunit | ✓ | ✓ |
| Miko_3105 | Os métodos de teste devem usar a abordagem de afirmação fluente da Nunit | ✓ | ✓ |
| Miko_3106 | Asserções não devem usar operadores de igualdade ou comparação | ✓ | - |
| Miko_3107 | MOQ Mock Condition Matchers devem ser usados apenas em zombarias | ✓ | ✓ |
| Miko_3108 | Os métodos de teste devem usar afirmações | ✓ | - |
| Miko_3109 | Múltiplas afirmações devem usar mensagens de afirmação | ✓ | ✓ |
| Miko_3110 | Asserções não devem usar 'contagem' ou 'comprimento' | ✓ | ✓ |
| Miko_3111 | As afirmações devem usar 'is.Zero' em vez de 'is.equalto (0)' | ✓ | ✓ |
| Miko_3112 | As afirmações devem usar 'is.epty' em vez de 'has.count.Zero' | ✓ | ✓ |
| Miko_3113 | Não use fluentassrações | ✓ | ✓ |
| Miko_3114 | Use 'Mock.Of <T> ()' em vez de 'novo Mock <T> (). Objeto' | ✓ | ✓ |
| Miko_3115 | Os métodos de teste devem conter código | ✓ | - |
| Miko_3116 | Os métodos de inicialização do teste devem conter código | ✓ | - |
| Miko_3117 | Os métodos de limpeza de teste devem conter código | ✓ | - |
| Miko_3118 | Os métodos de teste não devem usar chamadas ambíguas de LINQ | ✓ | - |
| Miko_3119 | Os métodos de teste não devem simplesmente retornar a tarefa concluída | ✓ | ✓ |
| Miko_3120 | MOQ Mocks deve usar valores em vez de 'it.is <> (...)' Matcher da condição para verificar valores exatos | ✓ | ✓ |
| Miko_3121 | Os testes devem testar implementações concretas e sem interfaces | ✓ | - |
| Miko_3122 | Os métodos de teste não devem usar mais de 2 parâmetros | ✓ | - |
| MIKO_3201 | Se as declarações puderem ser invertidas em métodos curtos | ✓ | ✓ |
| MIKO_3202 | Use condições positivas ao retornar em todos os caminhos | ✓ | ✓ |
| Miko_3203 | As declarações se continuam podem ser invertidas quando seguidas de linha única | ✓ | ✓ |
| Miko_3204 | As declarações negativas se podem ser invertidas quando tiverem uma cláusula else | ✓ | ✓ |
| Miko_3210 | Somente as sobrecargas mais longas devem ser virtuais ou abstratas | ✓ | - |
| Miko_3211 | Tipos públicos não devem ter finalizadores | ✓ | - |
| Miko_3212 | Não confunda desenvolvedores, fornecendo outros métodos de disposição | ✓ | - |
| Miko_3213 | Método de disposição sem parâmetros segue o padrão de disposição básica | ✓ | - |
| Miko_3214 | As interfaces não contêm métodos de definição de escopo 'Begin/End' ou 'Enter/Exit' | ✓ | - |
| Miko_3215 | Os retornos de chamada devem ser 'Func <t, bool>' em vez de 'predicado <osl>' | ✓ | ✓ |
| Miko_3216 | Campos estáticos com inicializadores devem ser somente leitura | ✓ | ✓ |
| MIKO_3217 | Não use tipos genéricos que tenham outros tipos genéricos como argumentos de tipo | ✓ | - |
| Miko_3218 | Não defina métodos de extensão em lugares inesperados | ✓ | - |
| Miko_3219 | Os membros públicos não devem ser 'virtuais' | ✓ | - |
| Miko_3220 | Lógico '&&' ou '||' As condições usando 'verdadeiro' ou 'false' devem ser simplificadas | ✓ | ✓ |
| Miko_3221 | O GethashCode Substitua deve usar 'hashcode.combine' | ✓ | ✓ |
| Miko_3222 | Comparações de string podem ser simplificadas | ✓ | ✓ |
| Miko_3223 | Comparações de referência podem ser simplificadas | ✓ | ✓ |
| Miko_3224 | Comparações de valor podem ser simplificadas | ✓ | ✓ |
| Miko_3225 | Comparações redundantes podem ser simplificadas | ✓ | ✓ |
| Miko_3301 | Favorecer os corpos de expressão de lambda em vez de blocos de expressão de lambda entre parênteses para declarações únicas | ✓ | ✓ |
| Miko_3302 | Favorecer corpos de expressão de lambda simples em vez de corpos de expressão de lambda entre parênteses para parâmetros para parâmetros únicos | ✓ | ✓ |
| Miko_3401 | As hierarquias de espaço para nome não devem ser muito profundas | ✓ | - |
| Miko_3501 | Não suprime avisos anuláveis em operadores condicionais nulos | ✓ | ✓ |
| Miko_3502 | Não suprime avisos anuláveis nas chamadas LINQ | ✓ | ✓ |
| EU IA | Título | Ativado por padrão | Codefix disponível |
|---|---|---|---|
| Miko_4001 | Métodos com mesmo nome devem ser ordenados com base no número de seus parâmetros | ✓ | ✓ |
| Miko_4002 | Métodos com mesmo nome e acessibilidade devem ser colocados lado a lado | ✓ | ✓ |
| Miko_4003 | Os métodos de descarga devem ser colocados diretamente após os construtores e finalizadores | ✓ | ✓ |
| Miko_4004 | Os métodos de descarga devem ser colocados antes de todos os outros métodos da mesma acessibilidade | ✓ | ✓ |
| Miko_4005 | A interface que fornece a um tipo seu nome deve ser colocado diretamente após a declaração do tipo | ✓ | ✓ |
| Miko_4007 | Os operadores devem ser colocados antes dos métodos | ✓ | ✓ |
| Miko_4008 | Os métodos GethashCode devem ser colocados diretamente após os métodos iguais | ✓ | ✓ |
| Miko_4101 | Os métodos de inicialização do teste devem ser encomendados diretamente após métodos únicos | ✓ | ✓ |
| Miko_4102 | Os métodos de limpeza de teste devem ser solicitados após os métodos de inicialização do teste e antes dos métodos de teste | ✓ | ✓ |
| Miko_4103 | Os métodos de inicialização de teste único devem ser ordenados antes de todos os outros métodos | ✓ | ✓ |
| Miko_4104 | Os métodos únicos de limpeza de teste devem ser encomendados diretamente após os métodos de inicialização de teste único | ✓ | ✓ |
| EU IA | Título | Ativado por padrão | Codefix disponível |
|---|---|---|---|
| MIKO_5001 | Os métodos 'Debug' e 'DebugFormat' devem ser invocados somente depois de 'Isdebugenabled' | ✓ | ✓ |
| Miko_5002 | Os métodos 'xxxformat' devem ser invocados apenas com vários argumentos | ✓ | ✓ |
| Miko_5003 | Os métodos de log corretos devem ser invocados para exceções | ✓ | - |
| Miko_5010 | Não use 'object.equals ()' nos tipos de valor | ✓ | ✓ |
| Miko_5011 | Não concatenar as cordas com += operador | ✓ | - |
| Miko_5012 | Não use 'Retorno de rendimento' para estruturas definidas recursivamente | ✓ | - |
| Miko_5013 | Não crie matrizes vazias | ✓ | ✓ |
| Miko_5014 | Não crie listas vazias se o valor de retorno for somente leitura | ✓ | ✓ |
| Miko_5015 | Não estagie literais de cordas | ✓ | ✓ |
| Miko_5016 | Use um hashset para pesquisas em 'list.removeall' | ✓ | - |
| Miko_5017 | Campos ou variáveis atribuídas com literais de cordas devem ser constantes | ✓ | ✓ |
| EU IA | Título | Ativado por padrão | Codefix disponível |
|---|---|---|---|
| Miko_6001 | As declarações de log devem ser cercadas por linhas em branco | ✓ | ✓ |
| Miko_6002 | As declarações de afirmação devem ser cercadas por linhas em branco | ✓ | ✓ |
| MiKo_6003 | Local variable statements should be preceded by blank lines | ✓ | ✓ |
| MiKo_6004 | Variable assignment statements should be preceded by blank lines | ✓ | ✓ |
| 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 | ✓ | ✓ |