Azure / Azure/data-api-builder
[Refactor] Move to file-scoped namespaces
- Dominant language
- C#
- Stars
- 1.5k
- Forks
- 370
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 8
Description
C# introduced [file scoped namespaces](https://learn.microsoft.com/dotnet/csharp/language-reference/proposals/csharp-10.0/file-scoped-namespaces) which means that instead of writing this:
```c#
namespace Some.Namespace {
public class SomeType {
public int SomeProperty { get; set; }
}
}
```
We can write this:
```c#
namespace Some.Namespace;
public class SomeType {
public int SomeProperty { get; set; }
}
```
With this, members of a namespace are at the same level as the namespace declaration, reducing the amount of whitespace in a file and aligning with more of how modern C# examples are written.
This can be enforced with an `.editorconfig` rule:
```
[*.cs]
csharp_style_namespace_declarations = file_scoped:warning
```
The refactor is straight forward, navigate to the `namespace` declaration in the file and add a `;` to the end of the line, VS will perform the rest of the refactoring for you.
Undertaking this can be done piece by piece and considered as part of general code hygiene.
Contributor guide
Assessment
This issue has not been assessed yet.