/Algoritmo_Kata

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

Examen de selección

Introducción a la kata

Por favor lee la siguiente nota:

Instrucciones

Debes crear una aplicación de cualquier tipo que reciba el nombre común de un ave y devuelva el código de cuatro letras correspondiente. Esperamos ver avances graduales en ciclos cortos. Nos gustaría que la aplicación la desarrolles con varios pull requests y que cada pull request tenga un avance pequeño. Por lo que te proponemos:

  1. Crea un fork del repositorio https://github.com/IslasGECI/kata_flbc_jesus1497
  2. Cubre tu código con pruebas
  3. Haz pasar GitHub Actions (necesitarás agregar un Makefile y un Dockerfile)
  4. Haz múltiples pull requests pequeños
  5. Usa GitHub (issues y pull requests) como el medio de comunicación principal

Por favor no esperes a que la aplicación esté terminada para someter tu primer pull request. Recuerda que no podrás crear ningún pull request hasta que tengas tu fork.

Ejecución de la aplicación

Para revisar la versión final de la aplicación, ejecutaremos una de las siguientes opciones:

Opción 1:

git clone https://github.com/IslasGECI/kata_flbc_jesus1497.git
cd kata_flbc_jesus1497
docker build --tag islasgeci .
docker run islasgeci make run

Opción 2:

git clone https://github.com/IslasGECI/kata_flbc_jesus1497.git
cd kata_flbc_jesus1497
docker-compose up

Tú puedes elegir cualquiera de las dos opciones anteriores que prefieras.

Rúbrica

El objetivo de este examen de selección es evaluar las habilidades para el trabajo colaborativo a distancia. Para eso usaremos los siguientes rubros:

  • Capacidad para el trabajo remoto y colaborativo:

    • Uso de Git (Los mensajes son informativos del porqué, las consignaciones son pequeñas y los nombres de las ramas dan información del objetivo de los cambios)
    • Habilidades de comunicación mediante GitHub (issues y pull requests: La comunicación es amable, la descripción es clara y da formato utilizando Markdown)
    • Solicitud de revisiones (Utilización de las características de GitHub para indicar que terminó una corrección y que está solicitando una nueva revisión)
    • Asimilación de retroalimentación (Las correcciones solicitadas en un pull request ya no se repiten en los siguientes pull requets)
  • Buenas prácticas en programación:

    • Refactorización
    • Principios de diseño de software
    • Pruebas unitarias
  • Automatización y reproducibilidad:

    • Uso de GitHub Actions
    • Uso de Docker
    • Uso de Make
    • Principios ágiles y de DevOps

Sugerencias

  • Crea pull request pequeños; un pull request de 100 líneas podría ser demasiado grande.
  • Se amable, explica el porqué de las cosas, respeta nuestro código de conducta, usa lenguaje simple y claro.
  • Comunícate mucho y hazlo mediante GitHub.

Referencias