Open Source auf C#: 7 GitHub-Repositories, die Ihren Code verändern werden

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Open Source in C#: Die besten GitHub-Repositories für .NET-Entwickler

\n\n

Wenn wir über Open Source sprechen, denken die meisten zuerst an Python, JavaScript oder Go. Aber C#? Viele glauben fälschlicherweise, dass das .NET-Ökosystem geschlossen und proprietär sei. Tatsächlich floriert Open Source in C# und GitHub ist buchstäblich voll von großartigen Projekten. Von leistungsstarken Frameworks bis hin zu eleganten Hilfsprogrammen – hier gibt es alles, um selbst den erfahrensten Entwickler zu inspirieren.

\n\n

In diesem Artikel listen wir nicht einfach nur Links auf. Wir analysieren die besten GitHub-Repositories in C# mit echten Codebeispielen, zeigen, wie man sie verwendet, und erklären, warum jedes einzelne Ihre Aufmerksamkeit verdient. Wenn Sie in C# programmieren oder gerade erst in die Welt von .NET eintauchen – dieser Stoff ist für Sie.

\n\n

Warum sollte man Open-Source-Projekte in C# studieren?

\n\n

Die Arbeit mit fremdem Code ist der beste Weg, um Ihre Fähigkeiten zu verbessern. Sie sehen, wie reale Probleme gelöst werden, welche Muster verwendet werden, wie die Leistung optimiert wird. Außerdem sind C#-Repositories auf GitHub eine Fundgrube für fertige Lösungen. Warum das Rad neu erfinden, wenn man eine bewährte Bibliothek nutzen kann?

\n\n

Tauchen wir ein in die besten Projekte. Ich habe 7 Repositories ausgewählt, die die Spielregeln wirklich ändern.

\n\n

1. Humanizer – Code in menschliche Sprache verwandeln

\n\n

Haben Sie jemals DateTime.Now.AddDays(-3).ToShortDateString() geschrieben und gedacht: "Wie könnte ich das schöner machen?" Humanizer ist eine Bibliothek, die genau das tut. Sie wandelt Zahlen, Daten, Aufzählungen und sogar Bytes in lesbare Zeichenfolgen um.

\n\n

So sieht das im Code aus:

\n\n
using Humanizer;\n\nint number = 1234567;\nConsole.WriteLine(number.ToWords()); // eine Million zweihundertvierunddreißigtausendfünfhundertsiebenundsechzig\n\nDateTime birthday = new DateTime(1990, 5, 15);\nConsole.WriteLine(birthday.Humanize()); // vor 34 Jahren\n\nTimeSpan time = TimeSpan.FromDays(3).Add(TimeSpan.FromHours(5));\nConsole.WriteLine(time.Humanize()); // 3 Tage 5 Stunden
\n\n

Dieses Open-Source-Projekt in C# wird von Tausenden von Unternehmen in der Produktion eingesetzt. Es eignet sich perfekt für Logging, Benutzeroberflächen und Berichte. Repository: github.com/Humanizr/Humanizer.

\n\n

2. FluentValidation – Schlanke Validierungsregeln

\n\n

Datenvalidierung ist der Albtraum jedes Backend-Entwicklers. FluentValidation löst dieses Problem elegant: Sie beschreiben die Regeln als Fluent-Kette, anstatt Prüfungen über den gesamten Code zu verteilen.

\n\n

Beispiel:

\n\n
public class UserValidator : AbstractValidator<User>\n{\n    public UserValidator()\n    {\n        RuleFor(user => user.Name)\n            .NotEmpty().WithMessage("Name ist erforderlich")\n            .Length(2, 50).WithMessage("Der Name muss zwischen 2 und 50 Zeichen lang sein");\n\n        RuleFor(user => user.Email)\n            .EmailAddress().WithMessage("Ungültige E-Mail-Adresse");\n\n        RuleFor(user => user.Age)\n            .InclusiveBetween(18, 120).WithMessage("Das Alter muss zwischen 18 und 120 Jahren liegen");\n    }\n}\n\n// Verwendung:\nvar validator = new UserValidator();\nvar result = validator.Validate(new User { Name = "A", Email = "test", Age = 15 });\n\nif (!result.IsValid)\n{\n    foreach (var error in result.Errors)\n        Console.WriteLine(error.ErrorMessage);\n}
\n\n

Dies ist eines der beliebtesten C#-Repositories auf GitHub mit über 10.000 Sternen. Es lässt sich in ASP.NET Core integrieren und macht den Code sauberer.

\n\n

3. Polly – Fehlertoleranz ohne Schmerz

\n\n

Stürzt Ihre Anwendung ab, wenn die Datenbank nicht verfügbar ist? Polly ist eine Bibliothek zur Fehlerbehandlung mit Wiederholungsversuchen, Timeouts und Circuit Breaker. Sie schützt Microservices vor kaskadierenden Ausfällen.

\n\n

Ein reales Beispiel:

\n\n
using Polly;\n\nvar retryPolicy = Policy\n    .Handle<HttpRequestException>()\n    .WaitAndRetryAsync(3, r                

Blogs

Buchempfehlungen