Diese Seite erklärt den Standard-Workflow für die Fess-Entwicklung. Sie können den Ablauf von Entwicklungsarbeiten wie Funktionserweiterungen, Fehlerbehebungen, Tests und Code-Reviews lernen.
Grundlegender Entwicklungsablauf
Die Entwicklung von Fess folgt diesem Ablauf:
Jeder Schritt wird im Detail erklärt.
Schritt 1: Überprüfung/Erstellung von Issues
Überprüfen Sie vor Beginn der Entwicklung die GitHub-Issues.
Überprüfung vorhandener Issues
Besuchen Sie die Fess-Issue-Seite
Suchen Sie nach Issues, an denen Sie arbeiten möchten
Kommentieren Sie das Issue, um mitzuteilen, dass Sie mit der Arbeit beginnen
Tipp
Für Ihren ersten Beitrag empfehlen wir, mit Issues zu beginnen, die das Label good first issue haben.
Erstellung eines neuen Issues
Erstellen Sie bei neuen Funktionen oder Fehlerbehebungen ein Issue.
Klicken Sie auf New Issue
Wählen Sie eine Issue-Vorlage
Füllen Sie die erforderlichen Informationen aus:
Titel: Klare und verständliche Beschreibung
Beschreibung: Detaillierter Hintergrund, erwartetes Verhalten, aktuelles Verhalten
Reproduktionsschritte: Bei Bugs
Umgebungsinformationen: OS, Java-Version, Fess-Version usw.
Klicken Sie auf
Submit new issue
Issue-Beispielformate
Im Folgenden finden Sie Beispielformate für die Erstellung von Issues.
Fehlerbericht:
Feature-Anfrage:
Schritt 2: Erstellung eines Branches
Erstellen Sie einen Arbeits-Branch.
Branch-Namenskonventionen
Branch-Namen folgen diesem Format:
Typen:
feature: Hinzufügen neuer Funktionenfix: Fehlerbehebungrefactor: Refactoringdocs: Dokumentationsaktualisierungtest: Hinzufügen/Ändern von Tests
Beispiele:
Schritte zur Branch-Erstellung
Holen Sie sich den neuesten main-Branch:
Erstellen Sie einen neuen Branch:
Überprüfen Sie, dass der Branch erstellt wurde:
Schritt 3: Codierung
Implementieren Sie Funktionen oder beheben Sie Fehler.
Codierungskonventionen
Fess folgt den folgenden Codierungskonventionen.
Grundlegender Stil
Einrückung: 4 Leerzeichen
Zeilenlänge: maximal 140 Zeichen empfohlen
Kodierung: UTF-8
Zeilenumbruch: LF (Unix-Stil)
Namenskonventionen
Klassennamen: PascalCase (z. B.:
SearchService)Methodennamen: camelCase (z. B.:
executeSearch)Konstanten: UPPER_SNAKE_CASE (z. B.:
MAX_SEARCH_SIZE)Variablen: camelCase (z. B.:
searchResults)
Kommentare
Javadoc: Erforderlich für öffentliche Klassen und Methoden
Implementierungskommentare: Fügen Sie Erklärungen auf Japanisch oder Englisch für komplexe Logik hinzu
Beispiel:
Umgang mit null
Vermeiden Sie nach Möglichkeit die Rückgabe von
nullVerwendung von
Optionalwird empfohlenFühren Sie null-Prüfungen explizit durch
Beispiel:
Ausnahmebehandlung
Fangen und behandeln Sie Ausnahmen angemessen
Protokollieren Sie Ausgaben
Geben Sie Benutzern verständliche Nachrichten
Beispiel:
Logging
Verwenden Sie angemessene Log-Ebenen:
ERROR: Bei FehlernWARN: Bei zu warnenden SituationenINFO: Wichtige InformationenDEBUG: Debug-InformationenTRACE: Detaillierte Trace-Informationen
Beispiel:
Tests während der Entwicklung
Testen Sie während der Entwicklung auf folgende Weise:
Lokale Ausführung
Führen Sie die Klasse org.codelibs.fess.FessBoot in Ihrer IDE aus und überprüfen Sie den Betrieb. Weitere Informationen finden Sie unter Bauen und Testen.
Debug-Ausführung
Verwenden Sie den Debugger der IDE, um das Verhalten des Codes zu verfolgen.
Ausführen von Unit-Tests
Führen Sie Tests im Zusammenhang mit Änderungen aus:
Weitere Informationen finden Sie unter Bauen und Testen.
Schritt 4: Ausführen lokaler Tests
Führen Sie vor dem Commit unbedingt Tests aus.
Ausführen von Unit-Tests
Ausführen von Integrationstests
Überprüfung des Code-Formats
Ausführen aller Prüfungen
Schritt 5: Commit
Committen Sie Ihre Änderungen.
Commit-Nachrichten-Konventionen
Commit-Nachrichten folgen diesem Format:
Typen:
feat: Neue Funktionfix: Fehlerbehebungdocs: Nur Dokumentationsänderungenstyle: Änderungen, die die Bedeutung des Codes nicht beeinflussen (Formatierung usw.)refactor: Refactoringtest: Hinzufügen/Ändern von Testschore: Änderungen am Build-Prozess oder an Tools
Beispiel:
Commit-Schritte
Änderungen stagen:
Commit:
Commit-Historie überprüfen:
Commit-Granularität
Ein Commit sollte eine logische Änderung enthalten
Teilen Sie große Änderungen in mehrere Commits auf
Commit-Nachrichten sollten verständlich und spezifisch sein
Schritt 6: Push
Pushen Sie den Branch in das Remote-Repository.
Beim ersten Push:
Schritt 7: Erstellung eines Pull Requests
Erstellen Sie einen Pull Request (PR) auf GitHub.
Schritte zur PR-Erstellung
Besuchen Sie das Fess-Repository
Klicken Sie auf den Tab
Pull requestsKlicken Sie auf
New pull requestWählen Sie den Base-Branch (
main) und den Vergleichs-Branch (Arbeits-Branch)Klicken Sie auf
Create pull requestFüllen Sie den PR-Inhalt aus (folgen Sie der Vorlage)
Klicken Sie auf
Create pull request
PR-Beispielformat
Im Folgenden finden Sie das empfohlene Format für Pull Requests.
PR-Beschreibung
Die PR-Beschreibung sollte Folgendes enthalten:
Zweck der Änderung: Warum diese Änderung notwendig ist
Änderungsinhalt: Was geändert wurde
Testmethode: Wie es getestet wurde
Screenshots: Bei UI-Änderungen
Schritt 8: Code-Review
Betreuer überprüfen den Code.
Review-Aspekte
Im Review werden folgende Punkte überprüft:
Code-Qualität
Einhaltung von Codierungskonventionen
Vollständigkeit der Tests
Auswirkungen auf die Performance
Sicherheitsprobleme
Aktualisierung der Dokumentation
Beispiele für Review-Kommentare
Genehmigung:
Änderungsanfrage:
Vorschlag:
Schritt 9: Antwort auf Review-Feedback
Reagieren Sie auf Review-Kommentare.
Schritte zur Beantwortung von Feedback
Lesen Sie die Review-Kommentare
Nehmen Sie erforderliche Änderungen vor
Änderungen committen:
Push:
Antworten Sie auf Kommentare auf der PR-Seite
Antworten auf Kommentare
Antworten Sie immer auf Review-Kommentare:
Oder:
Schritt 10: Merge
Nach Genehmigung des Reviews merged der Betreuer den PR.
Maßnahmen nach dem Merge
Aktualisieren Sie den lokalen main-Branch:
Löschen Sie den Arbeits-Branch:
Löschen Sie den Remote-Branch (falls nicht automatisch auf GitHub gelöscht):
Häufige Entwicklungsszenarien
Funktionserweiterung
Erstellen Sie ein Issue (oder überprüfen Sie ein vorhandenes)
Erstellen Sie einen Branch:
feature/xxx-descriptionImplementieren Sie die Funktion
Fügen Sie Tests hinzu
Aktualisieren Sie die Dokumentation
Erstellen Sie einen PR
Fehlerbehebung
Überprüfen Sie das Fehlerbericht-Issue
Erstellen Sie einen Branch:
fix/xxx-descriptionFügen Sie einen Test hinzu, der den Fehler reproduziert
Beheben Sie den Fehler
Überprüfen Sie, dass die Tests bestehen
Erstellen Sie einen PR
Refactoring
Erstellen Sie ein Issue (erklären Sie den Grund für das Refactoring)
Erstellen Sie einen Branch:
refactor/xxx-descriptionFühren Sie das Refactoring durch
Überprüfen Sie, dass vorhandene Tests bestehen
Erstellen Sie einen PR
Dokumentationsaktualisierung
Erstellen Sie einen Branch:
docs/xxx-descriptionAktualisieren Sie die Dokumentation
Erstellen Sie einen PR
Entwicklungstipps
Effiziente Entwicklung
Kleine Commits: Committen Sie häufig
Frühes Feedback: Nutzen Sie Draft-PRs
Testautomatisierung: Nutzen Sie CI/CD
Code-Review: Überprüfen Sie auch den Code anderer
Problemlösung
Nutzen Sie bei Schwierigkeiten Folgendes:
GitHub-Issue-Kommentare
Nächste Schritte
Nachdem Sie den Workflow verstanden haben, lesen Sie auch folgende Dokumentation:
Bauen und Testen - Details zu Build und Test
Leitfaden für Beiträge - Richtlinien für Beiträge
Architektur und Codestruktur - Verständnis der Codebasis