IntelliTect / IntelliTect/CodingGuidelines
Use Nullable Type Attributes for Properties/Fields where Initialization is Outside the Constructor
- 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
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