61114ea31b
Creates the 9-project .NET 8 solution (5 src + 4 test) with Marathon.Domain fully implemented: value objects (SportCode, EventId, OddsRate, OddsValue, BetScope hierarchy), enums (Side, BetType, OddsSource, AnomalyKind), and entities (Sport, Country, League, Event, Bet, OddsSnapshot, EventResult, Anomaly) with all invariants enforced in constructors. 96 domain tests pass (FluentAssertions + xUnit). Directory.Build.props and Directory.Packages.props centralise build settings and NuGet versions. Both Marathon.sln and Marathon.slnx are committed; dotnet build Marathon.sln succeeds with 0 warnings/errors.
61 lines
1.9 KiB
INI
61 lines
1.9 KiB
INI
root = true
|
|
|
|
[*]
|
|
charset = utf-8
|
|
end_of_line = crlf
|
|
insert_final_newline = true
|
|
trim_trailing_whitespace = true
|
|
|
|
[*.{cs,csx}]
|
|
indent_style = space
|
|
indent_size = 4
|
|
|
|
# C# formatting rules
|
|
dotnet_sort_system_directives_first = true
|
|
dotnet_separate_import_directive_groups = false
|
|
|
|
# Expression preferences
|
|
csharp_prefer_simple_using_statement = true:suggestion
|
|
csharp_prefer_braces = true:silent
|
|
csharp_style_namespace_declarations = file_scoped:warning
|
|
csharp_using_directive_placement = outside_namespace:warning
|
|
|
|
# var preferences
|
|
csharp_style_var_for_built_in_types = false:suggestion
|
|
csharp_style_var_when_type_is_apparent = true:suggestion
|
|
csharp_style_var_elsewhere = false:suggestion
|
|
|
|
# Expression-bodied members
|
|
csharp_style_expression_bodied_methods = false:silent
|
|
csharp_style_expression_bodied_constructors = false:silent
|
|
csharp_style_expression_bodied_properties = true:suggestion
|
|
|
|
# Null checking preferences
|
|
csharp_style_throw_expression = true:suggestion
|
|
csharp_style_conditional_delegate_call = true:suggestion
|
|
|
|
# Modifier ordering
|
|
dotnet_style_require_accessibility_modifiers = for_non_interface_members:warning
|
|
|
|
# Naming conventions
|
|
dotnet_naming_rule.private_fields_should_be_underscore_camel_case.severity = suggestion
|
|
dotnet_naming_rule.private_fields_should_be_underscore_camel_case.symbols = private_fields
|
|
dotnet_naming_rule.private_fields_should_be_underscore_camel_case.style = underscore_camel_case_style
|
|
|
|
dotnet_naming_symbols.private_fields.applicable_kinds = field
|
|
dotnet_naming_symbols.private_fields.applicable_accessibilities = private, protected, private_protected
|
|
|
|
dotnet_naming_style.underscore_camel_case_style.required_prefix = _
|
|
dotnet_naming_style.underscore_camel_case_style.capitalization = camel_case
|
|
|
|
[*.{xml,csproj,props,targets}]
|
|
indent_style = space
|
|
indent_size = 2
|
|
|
|
[*.{json,yml,yaml}]
|
|
indent_style = space
|
|
indent_size = 2
|
|
|
|
[*.md]
|
|
trim_trailing_whitespace = false
|