eng: enhance .editorconfig with modern C# idiom preferences

Add missing code style rules that codify the idioms already used in the
codebase, making IDE suggestions consistent for all contributors:

- csharp_style_prefer_range_operator / prefer_index_operator: prefer
  range indexers ([..n], [n..], [^1]) over Substring / Length-based
  arithmetic (directly reinforces the refactoring in GatewayUrlHelper)
- csharp_style_prefer_switch_expression: prefer switch expressions
  over if/else chains (already used throughout Models.cs etc.)
- csharp_style_prefer_pattern_matching / prefer_not_pattern
- csharp_prefer_simple_using_statement: prefer declaration-style
  'using var x = ...' without a nested block
- dotnet_style_prefer_simplified_boolean_expressions
- dotnet_style_prefer_inferred_tuple_names /
  prefer_inferred_anonymous_type_member_names

No functional changes. 521 shared + 99 tray tests pass.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
github-actions[bot] 2026-04-01 12:58:43 +00:00
parent 344461d30d
commit 84425718aa

View File

@ -47,6 +47,16 @@ csharp_style_expression_bodied_constructors = false:silent
# Pattern matching
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_prefer_pattern_matching = true:suggestion
csharp_style_prefer_switch_expression = true:suggestion
csharp_style_prefer_not_pattern = true:suggestion
# Modern C# index and range operators
csharp_style_prefer_range_operator = true:suggestion
csharp_style_prefer_index_operator = true:suggestion
# Simplified using statements (using var x = ...; without braces)
csharp_prefer_simple_using_statement = true:suggestion
# Null checks
csharp_style_conditional_delegate_call = true:suggestion
@ -92,6 +102,13 @@ dotnet_style_collection_initializer = true:suggestion
# Tuple names
dotnet_style_explicit_tuple_names = true:suggestion
# Prefer simplified boolean expressions (e.g. 'x' over 'x == true')
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
# Prefer inferred tuple/anonymous type member names
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
# Naming conventions — private instance fields: _camelCase
dotnet_naming_rule.private_fields_should_be_camel_case.severity = suggestion
dotnet_naming_rule.private_fields_should_be_camel_case.symbols = private_instance_fields