Esta página explica el flujo de trabajo estándar en el desarrollo de Fess. Puede aprender cómo proceder con el trabajo de desarrollo, como agregar funciones, corregir errores, pruebas y revisión de código.
Flujo Básico de Desarrollo
El desarrollo de Fess procede con el siguiente flujo:
Cada paso se explica en detalle.
Paso 1: Verificar/Crear Issue
Antes de comenzar el desarrollo, verifique los issues de GitHub.
Verificar Issues Existentes
Acceda a la página de Issues de Fess
Busque un issue en el que desee trabajar
Comente en el issue para comunicar que comenzará el trabajo
Truco
Para su primera contribución, se recomienda comenzar con issues etiquetados con good first issue.
Crear Nuevo Issue
Para nuevas funciones o correcciones de errores, cree un issue.
Haga clic en New Issue
Seleccione plantilla de issue
Complete la información requerida:
Título: Descripción breve y clara
Descripción: Antecedentes detallados, comportamiento esperado, comportamiento actual
Pasos de reproducción: En caso de errores
Información del entorno: OS, versión de Java, versión de Fess, etc.
Haga clic en
Submit new issue
Ejemplo de Formato de Issue
A continuación se muestran formatos de ejemplo al crear issues.
Reporte de Error:
Solicitud de Función:
Paso 2: Crear Rama
Cree una rama de trabajo.
Convención de Nomenclatura de Ramas
Los nombres de ramas siguen el siguiente formato:
Tipos de type:
feature: Agregar nueva funciónfix: Corrección de errorrefactor: Refactorizacióndocs: Actualización de documentacióntest: Agregar/modificar pruebas
Ejemplos:
Procedimiento de Creación de Rama
Obtener la última rama main:
Crear nueva rama:
Verificar que se creó la rama:
Paso 3: Codificar
Implemente la función o corrija el error.
Convenciones de Codificación
En Fess, seguimos las siguientes convenciones de codificación.
Estilo Básico
Indentación: 4 espacios
Longitud de línea: Se recomienda 140 caracteres o menos
Codificación: UTF-8
Código de nueva línea: LF (estilo Unix)
Convenciones de Nomenclatura
Nombres de clase: PascalCase (ejemplo:
SearchService)Nombres de método: camelCase (ejemplo:
executeSearch)Constantes: UPPER_SNAKE_CASE (ejemplo:
MAX_SEARCH_SIZE)Variables: camelCase (ejemplo:
searchResults)
Comentarios
Javadoc: Obligatorio para clases y métodos públicos
Comentarios de implementación: Agregar explicación en japonés o inglés para lógica compleja
Ejemplo:
Manejo de null
No devolver
nullsiempre que sea posibleSe recomienda usar
OptionalRealizar verificación de
nullexplícitamente
Ejemplo:
Manejo de Excepciones
Capturar y procesar excepciones apropiadamente
Realizar salida de registro
Proporcionar mensajes comprensibles para el usuario
Ejemplo:
Salida de Registro
Use el nivel de registro apropiado:
ERROR: Cuando ocurre errorWARN: Situación que requiere advertenciaINFO: Información importanteDEBUG: Información de depuraciónTRACE: Información de rastreo detallada
Ejemplo:
Pruebas Durante el Desarrollo
Durante el desarrollo, pruebe de las siguientes maneras:
Ejecución Local
Ejecute la clase org.codelibs.fess.FessBoot en su IDE y verifique el funcionamiento. Consulte Construcción y Pruebas para más detalles.
Ejecución de Depuración
Use el depurador del IDE para rastrear el comportamiento del código.
Ejecución de Pruebas Unitarias
Ejecute pruebas relacionadas con los cambios:
Consulte Construcción y Pruebas para más detalles.
Paso 4: Ejecutar Pruebas Locales
Asegúrese de ejecutar pruebas antes de hacer commit.
Ejecución de Pruebas Unitarias
Ejecución de Pruebas de Integración
Verificación de Formato de Código
Ejecutar Todas las Verificaciones
Paso 5: Hacer Commit
Haga commit de los cambios.
Convención de Mensajes de Commit
Los mensajes de commit siguen el siguiente formato:
Tipos de type:
feat: Nueva funciónfix: Corrección de errordocs: Solo cambios en documentaciónstyle: Cambios que no afectan el significado del código (formato, etc.)refactor: Refactorizacióntest: Agregar/modificar pruebaschore: Cambios en proceso de construcción o herramientas
Ejemplo:
Procedimiento de Commit
Preparar cambios:
Hacer commit:
Verificar historial de commits:
Granularidad de Commits
Incluir un cambio lógico por commit
Dividir cambios grandes en múltiples commits
Los mensajes de commit deben ser claros y específicos
Paso 6: Hacer Push
Haga push de la rama al repositorio remoto.
Para el primer push:
Paso 7: Crear Pull Request
Cree un pull request (PR) en GitHub.
Procedimiento de Creación de PR
Acceda al repositorio de Fess
Haga clic en la pestaña
Pull requestsHaga clic en
New pull requestSeleccione rama base (
main) y rama de comparación (rama de trabajo)Haga clic en
Create pull requestComplete el contenido del PR (siga la plantilla)
Haga clic en
Create pull request
Ejemplo de Formato de PR
A continuación se muestra el formato recomendado al crear pull requests.
Descripción del PR
La descripción del PR debe incluir:
Propósito del cambio: Por qué es necesario este cambio
Contenido del cambio: Qué se cambió
Método de prueba: Cómo se probó
Capturas de pantalla: En caso de cambios en UI
Paso 8: Revisión de Código
Los mantenedores revisan el código.
Puntos de Revisión
En la revisión, se verifican los siguientes puntos:
Calidad del código
Cumplimiento de convenciones de codificación
Suficiencia de pruebas
Impacto en el rendimiento
Problemas de seguridad
Actualización de documentación
Ejemplos de Comentarios de Revisión
Aprobación:
Solicitud de modificación:
Sugerencia:
Paso 9: Responder a Retroalimentación de Revisión
Responda a los comentarios de revisión.
Procedimiento de Respuesta a Retroalimentación
Leer comentarios de revisión
Realizar modificaciones necesarias
Hacer commit de cambios:
Hacer push:
Responder al comentario en página de PR
Respuesta a Comentarios
Siempre responda a los comentarios de revisión:
O:
Paso 10: Hacer Merge
Cuando se aprueba la revisión, el mantenedor hace merge del PR.
Acciones Después del Merge
Actualizar rama main local:
Eliminar rama de trabajo:
Eliminar rama remota (si no se elimina automáticamente en GitHub):
Escenarios Comunes de Desarrollo
Agregar Función
Crear issue (o verificar issue existente)
Crear rama:
feature/xxx-descriptionImplementar función
Agregar pruebas
Actualizar documentación
Crear PR
Corrección de Error
Verificar issue de reporte de error
Crear rama:
fix/xxx-descriptionAgregar prueba que reproduce el error
Corregir el error
Verificar que las pruebas pasen
Crear PR
Refactorización
Crear issue (explicar razón de refactorización)
Crear rama:
refactor/xxx-descriptionEjecutar refactorización
Verificar que las pruebas existentes pasen
Crear PR
Actualización de Documentación
Crear rama:
docs/xxx-descriptionActualizar documentación
Crear PR
Consejos de Desarrollo
Desarrollo Eficiente
Commits pequeños: Hacer commit frecuentemente
Retroalimentación temprana: Usar Draft PR
Automatización de pruebas: Usar CI/CD
Revisión de código: Revisar también el código de otros
Resolución de Problemas
Cuando tenga dificultades, use lo siguiente:
Comentarios de issues en GitHub
Próximos Pasos
Una vez que comprenda el flujo de trabajo, consulte también los siguientes documentos:
Construcción y Pruebas - Detalles de construcción y pruebas
Guía de Contribución - Directrices de contribución
Arquitectura y Estructura del Código - Comprensión del código base