IntelliTect / IntelliTect/CodingGuidelines

Create code fix to convert non-nullable reference type auto property to null safe version

Open
#111 0 comments 0 reactions 0 assignees View on GitHub
analyzer enhancement Hacktoberfest
Dominant language
C#
Stars
12
Forks
16
Avg merge
2m
Merged PRs (30d)
7

Description

We would like to create a code fix to convert auto properties to null safe equivalent following the pattern in #88.

This code fix should not be shown for:
- Read only properties
- Nullable reference types
- When nullable is not enabled

Expected:
This
```
public string FirstName { get; set; }
```
Becomes:
```
//TODO: Initialize FirstName during initialization
private string? _FirstName;
public string FirstName
{
get => _FirstName!;
set => _FirstName = value ?? throw new ArgumentNullException(nameof(value));
}
```

This:
```
public string FirstName { get; private set; }
```
Becomes:
```
//TODO: Initialize FirstName during initialization
private string? _FirstName;
public string FirstName
{
get => _FirstName!;
private set => _FirstName = value ?? throw new ArgumentNullException(nameof(value));
}
```

Contributor guide

Open the contributing guide

Research direction

Start by reading issue #88 and locating the existing code-fix implementation it describes. Check the new fix against read-only properties, nullable reference types, and disabled nullable context, then verify that the two auto-property examples produce the expected null-safe form.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.