IntelliTect / IntelliTect/CodingGuidelines
Create code fix to convert non-nullable reference type auto property to null safe version
- 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
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