Contribuir al código
¿Está pensando en contribuir al marco de Nette y necesita familiarizarse con las normas y procedimientos? Esta guía para principiantes le guiará a través de los pasos necesarios para contribuir eficazmente al código, trabajar con repositorios e implementar cambios.
Procedimiento
Para contribuir al código, es esencial tener una cuenta en GitHub y estar familiarizado con los conceptos básicos de trabajo con el sistema de control de versiones Git. Si no estás familiarizado con Git, puedes consultar la guía git – the simple guide y considerar el uso de uno de los muchos clientes gráficos.
Preparar el entorno y el repositorio
- En GitHub, crea un fork del repositorio del paquete que pretendes modificar
- Clone este repositorio en su ordenador
- Instale las dependencias, incluyendo Nette Tester, utilizando el
comando
composer install
- Compruebe que las pruebas funcionan ejecutando
composer tester
- Cree una nueva rama basada en la última versión publicada
Implementar tus propios cambios
Ahora puede realizar sus propios ajustes en el código:
- Implementa los cambios deseados y no te olvides de las pruebas
- Asegúrate de que las pruebas se ejecutan correctamente
composer tester
- Comprueba si el código cumple las normas de codificación
- Guarda (confirma) los cambios con una descripción en este formato
Puedes crear varios commits, uno para cada paso lógico. Cada commit debe tener sentido por sí mismo.
Envío de cambios
Una vez que esté satisfecho con los cambios, puede enviarlos:
- Empuje los cambios a GitHub a su bifurcación.
- Desde allí, envíalos al repositorio de Nette creando un pull request (PR)
- Proporcione información suficiente en la descripción
Incorporación de comentarios
Tus commits son ahora visibles para los demás. Es habitual recibir comentarios con sugerencias:
- Hacer un seguimiento de los cambios propuestos
- Incorpórelos como nuevos commits o fusiónelos con losanteriores
- Vuelve a enviar los commits a GitHub, y aparecerán automáticamente en el pull request
Nunca crees un nuevo pull request para modificar uno ya existente.
Documentación
Si has cambiado alguna funcionalidad o añadido una nueva, no olvides añadirla también a la documentación.
Nueva rama
Si es posible, realice los cambios contra la última versión publicada, es decir, la última etiqueta de la rama. Para la etiqueta v3.2.1, cree una rama utilizando este comando:
git checkout -b new_branch_name v3.2.1
Normas de codificación
Tu código debe cumplir las normas de codificación utilizadas en Nette Framework. Existe una herramienta automática para comprobar y corregir el código. Puedes instalarla globalmente a través de Composer en una carpeta de tu elección:
composer create-project nette/coding-standard /path/to/nette-coding-standard
Ahora deberías poder ejecutar la herramienta en el terminal. El primer comando comprueba y el segundo corrige el código en
las carpetas src
y tests
en el directorio actual:
/path/to/nette-coding-standard/ecs check
/path/to/nette-coding-standard/ecs check --fix
Descripción del compromiso
En Nette, los asuntos de commit tienen el siguiente formato: Presenter: fixed AJAX detection [Closes #69]
- área seguida de dos puntos
- propósito del commit en pasado; si es posible, comience con palabras como: added, fixed, refactored, changed, removed
- si la confirmación rompe la compatibilidad con versiones anteriores, añada „BC break“.
- cualquier conexión con el gestor de incidencias, como
(#123)
o[Closes #69]
- después del asunto, puede haber una línea en blanco seguida de una descripción más detallada, incluyendo, por ejemplo, enlaces al foro
Descripción de la solicitud
Al crear una pull request, la interfaz de GitHub te permitirá introducir un título y una descripción. Proporcione un título conciso e incluya tanta información como sea posible en la descripción sobre las razones de su cambio.
Especifica también en la cabecera si se trata de una nueva función o de una corrección de errores y si puede causar problemas de retrocompatibilidad (BC break). Si existe una incidencia relacionada, vincúlela para que se cierre cuando se apruebe la solicitud de extracción.
- bug fix / new feature? <!-- #issue numbers, if any -->
- BC break? yes/no
- doc PR: nette/docs#? <!-- highly welcome, see https://nette.org/en/writing -->