Skip to content

Commit 7b8bfff

Browse files
committed
refactor: solution reorganization, added repo-wide conventions and docs
- Add .editorconfig and Directory.Build.props for code style and project-wide settings - Update project files to target netstandard2.1 (libraries) and net10 (tests/benchmarks) - Add README.md and DSA.md with project structure and namespace conventions - Update .gitignore for IDE and OS-specific files - Add GitHub Actions CI workflow for build, test, and benchmarks - Add vcs.xml for commit message inspection
1 parent fe9c004 commit 7b8bfff

16 files changed

Lines changed: 134 additions & 25 deletions

File tree

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*.cs]
4+
indent_style = space
5+
indent_size = 4
6+
dotnet_sort_system_directives_first = true
7+
csharp_style_namespace_declarations = file_scoped:suggestion
8+
9+
# Enforce namespace prefix (RudiRonsoni) via a manual convention; tooling can be added later.

.github/workflows/ci.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [ main, master ]
6+
pull_request:
7+
branches: [ main, master ]
8+
9+
jobs:
10+
build-and-test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
15+
- name: Setup .NET 10 SDK
16+
uses: actions/setup-dotnet@v4
17+
with:
18+
dotnet-version: '10.0.x'
19+
20+
- name: Install NuGet packages
21+
run: dotnet restore
22+
23+
- name: Build solution
24+
run: dotnet build C-Sharp-Data-Structures-and-Algorithms.sln --configuration Release --no-restore
25+
26+
- name: Run tests
27+
run: dotnet test C-Sharp-Data-Structures-and-Algorithms.sln --configuration Release --no-build --verbosity normal
28+
29+
benchmarks:
30+
runs-on: ubuntu-latest
31+
needs: build-and-test
32+
if: github.event_name == 'workflow_dispatch' || contains(github.event.head_commit.message, '[bench]')
33+
steps:
34+
- uses: actions/checkout@v4
35+
- name: Setup .NET 10 SDK
36+
uses: actions/setup-dotnet@v4
37+
with:
38+
dotnet-version: '10.0.x'
39+
- name: Run benchmarks (manual/conditional)
40+
run: |
41+
dotnet run -p DSA/Algorithms/AlgorithmsBenchmarks/AlgorithmsBenchmarks.csproj --configuration Release

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -896,4 +896,8 @@ FodyWeavers.xsd
896896
*.sln.iml
897897

898898
# MacOS .DS_Store
899-
.DS_Store
899+
.DS_Store
900+
/.idea/.idea.C-Sharp-Data-Structures-and-Algorithms/.idea/copilot.data.migration.agent.xml
901+
/.idea/.idea.C-Sharp-Data-Structures-and-Algorithms/.idea/copilot.data.migration.ask.xml
902+
/.idea/.idea.C-Sharp-Data-Structures-and-Algorithms/.idea/copilot.data.migration.edit.xml
903+
/.idea/.idea.C-Sharp-Data-Structures-and-Algorithms/.idea/GitLink.xml

.idea/.idea.C-Sharp-Data-Structures-and-Algorithms/.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
4+
<TargetFramework>netstandard2.1</TargetFramework>
75
</PropertyGroup>
86

97
</Project>

DSA/Algorithms/AlgorithmsBenchmarks/AlgorithmsBenchmarks.csproj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net8.0</TargetFramework>
6-
<ImplicitUsings>enable</ImplicitUsings>
7-
<Nullable>enable</Nullable>
5+
<TargetFramework>net10.0</TargetFramework>
86
</PropertyGroup>
97

108
</Project>

DSA/Algorithms/AlgorithmsTests/AlgorithmsTests.csproj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
4+
<TargetFramework>net10.0</TargetFramework>
75

86
<IsPackable>false</IsPackable>
97
<IsTestProject>true</IsTestProject>
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
4+
<TargetFramework>netstandard2.1</TargetFramework>
75
</PropertyGroup>
86

97
</Project>

DSA/DataStructures/DataStructuresBenchmarks/DataStructuresBenchmarks.csproj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFramework>net8.0</TargetFramework>
6-
<ImplicitUsings>enable</ImplicitUsings>
7-
<Nullable>enable</Nullable>
5+
<TargetFramework>net10.0</TargetFramework>
86
</PropertyGroup>
97

108
</Project>

DSA/DataStructures/DataStructuresTests/DataStructuresTests.csproj

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFramework>net8.0</TargetFramework>
5-
<ImplicitUsings>enable</ImplicitUsings>
6-
<Nullable>enable</Nullable>
4+
<TargetFramework>net10.0</TargetFramework>
75

86
<IsPackable>false</IsPackable>
97
<IsTestProject>true</IsTestProject>

0 commit comments

Comments
 (0)