IntelliTect / IntelliTect/CodingGuidelines

Use Nullable Type Attributes for Properties/Fields where Initialization is Outside the Constructor

Aberta
#89 4 comentários 0 reações 0 responsáveis Ver no GitHub
invalid proposal
Linguagem predominante
C#
Estrelas
12
Forks
16
Merge médio
2min
PRs com merge (30d)
7

Descrição

Given properties that the compiler can't detect initialization for, such as MSTest's `TestContext` or a calculated `Name` property that splits the assignment to `FirstName` and `LastName`, use nullable attributes.
Examples:
```
[DisallowNull][NotNull]
public TestContext? TestContext {get;set;}
```

and
```
Person(string name) { Name = name; }
[DisallowNull][NotNull]
public string? FirstName {get;set;}
[DisallowNull][NotNull]
public string? FirstName {get;set;}
public string Name
{
get => $"{FirstName} {LastName}";
set => { ... }
}
```

Proposal:
Create a code analysis rule that adds the attributes rather than creates generates a pragma.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece revisando os exemplos de nullable-analysis na issue, especialmente TestContext e a propriedade Name calculada. Localize os pontos de entrada das regras de análise de código do repositório e o comportamento existente relacionado a pragma; considera-se concluído quando uma regra propõe atributos nullable para inicialização fora do construtor em vez de gerar um pragma.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
csharp
Domínio
tooling
Tipo de issue
Funcionalidade
Dificuldade
5/5
Tempo estimado
Mais de uma semana
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.