Cette page explique le flux de travail standard pour le développement de Fess. Vous apprendrez comment procéder aux travaux de développement tels que l’ajout de fonctionnalités, la correction de bugs, les tests et la revue de code.
Flux de base du développement
Le développement de Fess se déroule comme suit :
Chaque étape est expliquée en détail.
Étape 1 : Vérification/création d’un problème
Avant de commencer le développement, vérifiez les problèmes GitHub.
Vérification des problèmes existants
Accédez à la page des problèmes Fess
Trouvez un problème sur lequel vous souhaitez travailler
Commentez le problème pour indiquer que vous commencez à travailler dessus
Astuce
Pour une première contribution, nous vous recommandons de commencer par les problèmes avec l’étiquette good first issue.
Création d’un nouveau problème
Pour une nouvelle fonctionnalité ou une correction de bug, créez un problème.
Cliquez sur New Issue
Sélectionnez le modèle de problème
Remplissez les informations nécessaires :
Titre : Description concise et claire
Description : Contexte détaillé, comportement attendu, comportement actuel
Étapes de reproduction : En cas de bug
Informations sur l’environnement : OS, version Java, version Fess, etc.
Cliquez sur
Submit new issue
Exemples de format de problème
Voici des exemples de formats pour la création de problèmes.
Rapport de bug :
Demande de fonctionnalité :
Étape 2 : Création d’une branche
Créez une branche de travail.
Convention de nommage des branches
Les noms de branches suivent le format suivant :
Types de type :
feature: Ajout de nouvelle fonctionnalitéfix: Correction de bugrefactor: Refactoringdocs: Mise à jour de la documentationtest: Ajout/modification de tests
Exemples :
Procédure de création de branche
Obtenez la dernière branche main :
Créez une nouvelle branche :
Vérifiez que la branche a été créée :
Étape 3 : Codage
Implémentez la fonctionnalité ou corrigez le bug.
Conventions de codage
Fess suit les conventions de codage suivantes.
Style de base
Indentation : 4 espaces
Longueur de ligne : 140 caractères maximum recommandé
Encodage : UTF-8
Code de fin de ligne : LF (style Unix)
Conventions de nommage
Nom de classe : PascalCase (ex :
SearchService)Nom de méthode : camelCase (ex :
executeSearch)Constantes : UPPER_SNAKE_CASE (ex :
MAX_SEARCH_SIZE)Variables : camelCase (ex :
searchResults)
Commentaires
Javadoc : Obligatoire pour les classes et méthodes publiques
Commentaires d’implémentation : Ajoutez des explications en japonais ou en anglais pour une logique complexe
Exemple :
Gestion de null
Ne retournez pas
nulldans la mesure du possibleUtilisation d”
OptionalrecommandéeEffectuez explicitement les vérifications
null
Exemple :
Gestion des exceptions
Attrapez et traitez correctement les exceptions
Effectuez la journalisation
Fournissez des messages compréhensibles à l’utilisateur
Exemple :
Journalisation
Utilisez le niveau de journalisation approprié :
ERROR: En cas d’erreurWARN: Situations nécessitant un avertissementINFO: Informations importantesDEBUG: Informations de débogageTRACE: Informations de trace détaillées
Exemple :
Tests pendant le développement
Pendant le développement, testez de la manière suivante :
Exécution locale
Exécutez la classe org.codelibs.fess.FessBoot dans votre IDE et vérifiez le fonctionnement. Consultez Compilation et tests pour plus de détails.
Exécution en débogage
Utilisez le débogueur de l’IDE pour suivre le comportement du code.
Exécution des tests unitaires
Exécutez les tests liés aux modifications :
Consultez Compilation et tests pour plus de détails.
Étape 4 : Exécution des tests locaux
Avant de commiter, exécutez toujours les tests.
Exécution des tests unitaires
Exécution des tests d’intégration
Vérification du format de code
Exécution de toutes les vérifications
Étape 5 : Commit
Commitez les modifications.
Convention des messages de commit
Les messages de commit suivent le format suivant :
Types de type :
feat: Nouvelle fonctionnalitéfix: Correction de bugdocs: Modification de documentation uniquementstyle: Modifications n’affectant pas la signification du code (formatage, etc.)refactor: Refactoringtest: Ajout/modification de testschore: Modifications du processus de compilation ou des outils
Exemple :
Procédure de commit
Mettez en staging les modifications :
Commitez :
Vérifiez l’historique des commits :
Granularité des commits
Incluez un seul changement logique par commit
Divisez les grands changements en plusieurs commits
Les messages de commit doivent être clairs et spécifiques
Étape 6 : Push
Poussez la branche vers le dépôt distant.
Pour le premier push :
Étape 7 : Création d’une pull request
Créez une pull request (PR) sur GitHub.
Procédure de création de PR
Accédez au dépôt Fess
Cliquez sur l’onglet
Pull requestsCliquez sur
New pull requestSélectionnez la branche de base (
main) et la branche de comparaison (branche de travail)Cliquez sur
Create pull requestRemplissez le contenu de la PR (suivez le modèle)
Cliquez sur
Create pull request
Exemple de format de PR
Voici le format recommandé pour la création de pull requests.
Description de la PR
La description de la PR doit inclure :
Objectif de la modification : Pourquoi cette modification est-elle nécessaire
Contenu de la modification : Ce qui a été modifié
Méthode de test : Comment cela a été testé
Captures d’écran : En cas de modifications de l’interface utilisateur
Étape 8 : Revue de code
Les mainteneurs examinent le code.
Points de revue
Les revues vérifient les points suivants :
Qualité du code
Conformité aux conventions de codage
Complétude des tests
Impact sur les performances
Problèmes de sécurité
Mise à jour de la documentation
Exemples de commentaires de revue
Approbation :
Demande de modification :
Suggestion :
Étape 9 : Réponse au retour de revue
Répondez aux commentaires de revue.
Procédure de réponse au retour
Lisez les commentaires de revue
Effectuez les modifications nécessaires
Commitez les modifications :
Poussez :
Répondez aux commentaires sur la page PR
Réponse aux commentaires
Répondez toujours aux commentaires de revue :
Ou :
Étape 10 : Fusion
Lorsque la revue est approuvée, les mainteneurs fusionnent la PR.
Actions après la fusion
Mettez à jour la branche main locale :
Supprimez la branche de travail :
Supprimez la branche distante (si elle n’est pas automatiquement supprimée sur GitHub) :
Scénarios de développement courants
Ajout de fonctionnalité
Créez un problème (ou vérifiez un problème existant)
Créez une branche :
feature/xxx-descriptionImplémentez la fonctionnalité
Ajoutez des tests
Mettez à jour la documentation
Créez une PR
Correction de bug
Vérifiez le problème de rapport de bug
Créez une branche :
fix/xxx-descriptionAjoutez un test reproduisant le bug
Corrigez le bug
Vérifiez que le test passe
Créez une PR
Refactoring
Créez un problème (expliquez la raison du refactoring)
Créez une branche :
refactor/xxx-descriptionEffectuez le refactoring
Vérifiez que les tests existants passent
Créez une PR
Mise à jour de la documentation
Créez une branche :
docs/xxx-descriptionMettez à jour la documentation
Créez une PR
Conseils de développement
Développement efficace
Petits commits : Commitez fréquemment
Retour précoce : Utilisez les Draft PR
Automatisation des tests : Utilisez CI/CD
Revue de code : Examinez également le code des autres
Résolution de problèmes
En cas de difficulté, utilisez les ressources suivantes :
Commentaires de problème GitHub
Étapes suivantes
Après avoir compris le flux de travail, consultez également la documentation suivante :
Compilation et tests - Détails sur la compilation et les tests
Guide de contribution - Directives de contribution
Architecture et structure du code - Compréhension du code source