Version: v0.2.0-alpha
English | Deutsch | 中文 | 繁體中文 | Español | 日本語 | 한국어 | Čeština | Русский
Vielen Dank für Ihr Interesse an einem Beitrag zu SiliconLifeCollective!
Dieses Projekt hat zwei Implementierungsversionen. Sie können je nach Interesse eine Beitragsrichtung wählen:
- Technologie-Stack: .NET 9 Konsolenanwendung
- Beitragsrichtung: Kernfunktionsentwicklung, Werkzeugimplementierung, Lokalisierung, Dokumentation
- Geeignet für: Alle Entwickler
- Technologie-Stack: .NET 9 plattformübergreifende Desktop-Anwendung (Avalonia UI)
- Beitragsrichtung: Leistungsoptimierung, SpeedyPack-Speicher, System-Tray, lockenfreie Nebenläufigkeit
- Geeignet für: Entwickler mit Desktop-Entwicklungserfahrung und Interesse an Leistungsoptimierung
Wichtiger Hinweis: Beide Versionen teilen sich die Projekte SiliconLife.Core und SiliconLife.Common. Verbesserungen an den Kernschnittstellen wirken sich auf beide Versionen aus.
Dieses Projekt steht unter der Apache 2.0-Lizenz. Bitte bleiben Sie in allen Interaktionen respektvoll und professionell.
Klicken Sie auf den „Fork"-Button auf GitHub, um Ihre eigene Kopie zu erstellen.
git clone https://github.com/akimoto-akira/SiliconLifeCollective.git
cd SiliconLifeCollective# .NET 9 SDK installieren
# https://dotnet.microsoft.com/download/dotnet/9.0
# Abhängigkeiten wiederherstellen
dotnet restore
# Projekt bauen
dotnet build
# Tests ausführen
dotnet testgit checkout -b feature/your-feature-nameWählen Sie das passende Projekt je nach Art Ihres Beitrags:
- Kernschnittstellen/abstrakte Klassen →
SiliconLife.Corebearbeiten - Gemeinsame Implementierungen →
SiliconLife.Commonbearbeiten - Default-Version spezifisch →
SiliconLife.Defaultbearbeiten - Fast-Version spezifisch →
SiliconLife.Fastbearbeiten - Speicher-Engine →
SiliconLife.Speedybearbeiten - Speicher-Verwaltungswerkzeug →
SiliconLife.Speedy.Managerbearbeiten - Plugin-Entwicklung →
SiliconLife.Core/Pluginsbearbeiten - Mehrsprachige Dokumentation → Verzeichnis
docs/bearbeiten
- C#-Codierungskonventionen befolgen
- Klassennamen in PascalCase
- Methodenparameter in camelCase
- Private Felder in
_camelCase - Alle öffentlichen APIs müssen XML-Dokumentation haben
Dem Conventional Commits-Format folgen:
<type>(<scope>): <description>
Typen:
feat: Neue Funktionfix: Bug-Fixdocs: Dokumentationsänderungstyle: Code-Formatierungrefactor: Code-Refactoringtest: Teständerungchore: Build/Werkzeug-Änderung
Beispiele:
feat(localization): add Korean language support
fix(permission): fix null pointer in callback
docs: update contributing guide
refactor(web): simplify controller structure-
Code schreiben
- Bestehende Muster befolgen
- Tests für neue Funktionen hinzufügen
- Dokumentation aktualisieren
-
Änderungen testen
# Alle Tests ausführen dotnet test # Im Release-Modus bauen dotnet build --configuration Release
-
Code formatieren
dotnet format
-
Änderungen committen
git add . git commit -m "feat(scope): description"
-
Zum Fork pushen
git push origin feature/your-feature-name
-
Pull Request erstellen
- Zum Original-Repository gehen
- Auf „Compare & pull request" klicken
- PR-Vorlage ausfüllen
- Einreichen
Dasselbe Format wie bei Commit-Nachrichten verwenden:
feat(localization): add Korean language support
Folgendes einschließen:
- Was - Was macht dieser PR?
- Warum - Warum ist diese Änderung erforderlich?
- Wie - Wie haben Sie es implementiert?
- Tests - Wie wurde getestet?
## Was
Koreanische Lokalisierung für alle UI-Komponenten und Dokumentation hinzugefügt.
## Warum
Die Zugänglichkeit des Projekts für koreanischsprachige Nutzer erweitern.
## Wie
- KoKR.cs Lokalisierungsdatei erstellt
- 500+ Übersetzungsschlüssel hinzugefügt
- Alle Ansichten zur Verwendung der Lokalisierung aktualisiert
- Koreanische Dokumentation in docs/ko-KR/ erstellt
## Tests
- Korrekte Anzeige aller UI-Elemente auf Koreanisch verifiziert
- Sprachwechselfunktion getestet
- Übersetzungen mit Muttersprachlern überprüftAblauf:
- Vorhandene Issues prüfen
- Falls nicht vorhanden, ein Issue erstellen
- Bug beheben
- Testfall hinzufügen
- PR einreichen
Anforderungen:
- Klar beschriebener Bug
- Schritte zur Reproduktion
- Test zur Verhinderung von Regressionen
Ablauf:
- Funktion in Issues/Discussions besprechen
- Genehmigung der Maintainer einholen
- Funktion implementieren
- Umfassende Tests hinzufügen
- Dokumentation aktualisieren
- PR einreichen
Anforderungen:
- Funktionsvorschlag ist genehmigt
- Vollständige Testabdeckung
- Dokumentation aktualisiert
- Abwärtskompatibel
Ablauf:
- Dokumentationslücke identifizieren
- Dokumentation schreiben/aktualisieren
- PR einreichen
Anforderungen:
- Klar und prägnise
- Beispiele enthalten
- Falls zutreffend, mehrsprachig unterstützen
Ablauf:
- Refactoring in einem Issue vorschlagen
- Genehmigung einholen
- Code refaktorieren
- Sicherstellen, dass alle Tests bestehen
- PR einreichen
Anforderungen:
- Keine Funktionsänderung
- Alle Tests bestehen
- Code-Qualität verbessert
- Klar erklärt
[TestMethod]
public void MyFeature_ShouldWork_AsExpected()
{
// Arrange
var service = new MyService();
// Act
var result = service.DoSomething();
// Assert
Assert.IsTrue(result.Success);
}Vollständigen Workflow testen:
- KI-Interaktion
- Werkzeugausführung
- Berechtigungsprüfung
- Speicheroperationen
Bei UI-Änderungen:
- In mehreren Browsern testen
- Responsives Design verifizieren
- Barrierefreiheit prüfen
- XML-Kommentare für alle öffentlichen APIs verwenden
- Inline-Kommentare für komplexe Logik verwenden
- Code-Kommentare auf Englisch verfassen
- In
docs/{language}/ablegen - Alle Sprachversionen aktualisieren
- Bestehende Struktur befolgen
Beim Hinzufügen von Dokumentation:
- Zunächst die englische Version erstellen
- In andere Sprachen übersetzen
- Inhalte synchron halten
-
Code-Qualität
- Konventionen eingehalten
- Klar und lesbar
- Gut dokumentiert
-
Tests
- Ausreichende Abdeckung
- Alle Tests bestehen
- Randfälle abgedeckt
-
Dokumentation
- Aktualisiert
- Klar erklärt
- Mehrsprachig
-
Kompatibilität
- Abwärtskompatibel
- Keine Breaking Changes (außer nach Ankündigung)
- Semantische Versionierung befolgen
- Erstes Review: 1–3 Tage
- Feedback-Einarbeitung: nach Bedarf
- Merge: nach Genehmigung
Ursachen:
- Leitfaden nicht befolgt
- Unzureichende Tests
- Nicht angekündigte Breaking Changes
- Schlechte Code-Qualität
Lösung:
- Feedback umsetzen
- PR aktualisieren
- Erneut einreichen
Lösung:
# Branch aktualisieren
git fetch origin
git rebase origin/master
# Konflikte lösen
# Konfliktdateien bearbeiten
git add .
git rebase --continue
# Mit Force-Push aktualisieren
git push --force-with-lease- Dokumentation: docs/
- Issues: GitHub Issues
- Diskussionen: GitHub Discussions
- Verhaltenskodex: CODE_OF_CONDUCT.md
- Issue für Bugs erstellen
- Discussion für Fragen starten
- Maintainer für dringende Anliegen markieren
Beitragende werden an folgenden Stellen gewürdigt:
- README.md im Beitragenden-Bereich
- Release-Notes
- Projektdokumentation
Durch Ihren Beitrag stimmen Sie zu, dass dieser unter der Apache 2.0-Lizenz lizenziert wird.
- 📚 Dokumentation lesen
- 🐛 Offene Issues ansehen
- 💬 Diskussion starten
- 🚀 Forken und mit dem Beitrag beginnen!
Vielen Dank für Ihren Beitrag zu SiliconLifeCollective!🎉