You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Data-Science-For-Beginners/translations/es/CONTRIBUTING.md

12 KiB

Contribuir a Ciencia de Datos para Principiantes

¡Gracias por tu interés en contribuir al currículo de Ciencia de Datos para Principiantes! Apreciamos las contribuciones de la comunidad.

Tabla de Contenidos

Código de Conducta

Este proyecto ha adoptado el Código de Conducta de Microsoft Open Source.
Para más información, consulta las Preguntas Frecuentes sobre el Código de Conducta
o contacta a opencode@microsoft.com para cualquier pregunta o comentario adicional.

¿Cómo puedo contribuir?

Reportar errores

Antes de crear reportes de errores, revisa los problemas existentes para evitar duplicados. Al crear un reporte de error, incluye tantos detalles como sea posible:

  • Usa un título claro y descriptivo
  • Describe los pasos exactos para reproducir el problema
  • Proporciona ejemplos específicos (fragmentos de código, capturas de pantalla)
  • Describe el comportamiento observado y lo que esperabas
  • Incluye detalles de tu entorno (SO, versión de Python, navegador)

Sugerir mejoras

¡Las sugerencias de mejoras son bienvenidas! Al sugerir mejoras:

  • Usa un título claro y descriptivo
  • Proporciona una descripción detallada de la mejora sugerida
  • Explica por qué esta mejora sería útil
  • Enumera características similares en otros proyectos, si aplica

Contribuir a la documentación

Las mejoras en la documentación siempre son apreciadas:

  • Corrige errores tipográficos y gramaticales
  • Mejora la claridad de las explicaciones
  • Añade documentación faltante
  • Actualiza información desactualizada
  • Incluye ejemplos o casos de uso

Contribuir con código

Aceptamos contribuciones de código, incluyendo:

  • Nuevas lecciones o ejercicios
  • Corrección de errores
  • Mejoras a notebooks existentes
  • Nuevos conjuntos de datos o ejemplos
  • Mejoras a la aplicación de cuestionarios

Primeros pasos

Requisitos previos

Antes de contribuir, asegúrate de tener:

  1. Una cuenta de GitHub
  2. Git instalado en tu sistema
  3. Python 3.7+ y Jupyter instalados
  4. Node.js y npm (para contribuciones a la aplicación de cuestionarios)
  5. Familiaridad con la estructura del currículo

Consulta INSTALLATION.md para instrucciones detalladas de configuración.

Hacer un fork y clonar

  1. Haz un fork del repositorio en GitHub

  2. Clona tu fork localmente:

    git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git
    cd Data-Science-For-Beginners
    
  3. Añade el remoto upstream:

    git remote add upstream https://github.com/microsoft/Data-Science-For-Beginners.git
    

Crear una rama

Crea una nueva rama para tu trabajo:

git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix

Convenciones para nombrar ramas:

  • feature/ - Nuevas características o lecciones
  • fix/ - Corrección de errores
  • docs/ - Cambios en la documentación
  • refactor/ - Refactorización de código

Guías de contribución

Para contenido de lecciones

Al contribuir con lecciones o modificar las existentes:

  1. Sigue la estructura existente:

    • README.md con el contenido de la lección
    • Notebook de Jupyter con ejercicios
    • Tarea (si aplica)
    • Enlace a cuestionarios previos y posteriores
  2. Incluye estos elementos:

    • Objetivos de aprendizaje claros
    • Explicaciones paso a paso
    • Ejemplos de código con comentarios
    • Ejercicios para practicar
    • Enlaces a recursos adicionales
  3. Asegúrate de que sea accesible:

    • Usa lenguaje claro y sencillo
    • Proporciona texto alternativo para imágenes
    • Incluye comentarios en el código
    • Considera diferentes estilos de aprendizaje

Para notebooks de Jupyter

  1. Limpia todas las salidas antes de hacer el commit:

    jupyter nbconvert --clear-output --inplace notebook.ipynb
    
  2. Incluye celdas de markdown con explicaciones

  3. Usa un formato consistente:

    # Import libraries at the top
    import pandas as pd
    import numpy as np
    import matplotlib.pyplot as plt
    
    # Use meaningful variable names
    # Add comments for complex operations
    # Follow PEP 8 style guidelines
    
  4. Prueba tu notebook completamente antes de enviarlo

Para código en Python

Sigue las guías de estilo de PEP 8:

# Good practices
import pandas as pd

def calculate_mean(data):
    """Calculate the mean of a dataset.
    
    Args:
        data (list): List of numerical values
        
    Returns:
        float: Mean of the dataset
    """
    return sum(data) / len(data)

Para contribuciones a la aplicación de cuestionarios

Al modificar la aplicación de cuestionarios:

  1. Prueba localmente:

    cd quiz-app
    npm install
    npm run serve
    
  2. Ejecuta el linter:

    npm run lint
    
  3. Construye exitosamente:

    npm run build
    
  4. Sigue la guía de estilo de Vue.js y los patrones existentes

Para traducciones

Al añadir o actualizar traducciones:

  1. Sigue la estructura en la carpeta translations/
  2. Usa el código de idioma como nombre de carpeta (por ejemplo, fr para francés)
  3. Mantén la misma estructura de archivos que la versión en inglés
  4. Actualiza los enlaces de los cuestionarios para incluir el parámetro de idioma: ?loc=fr
  5. Prueba todos los enlaces y el formato

Proceso de Pull Request

Antes de enviar

  1. Actualiza tu rama con los últimos cambios:

    git fetch upstream
    git rebase upstream/main
    
  2. Prueba tus cambios:

    • Ejecuta todos los notebooks modificados
    • Prueba la aplicación de cuestionarios si fue modificada
    • Verifica que todos los enlaces funcionen
    • Revisa errores ortográficos y gramaticales
  3. Haz commit de tus cambios:

    git add .
    git commit -m "Brief description of changes"
    

    Escribe mensajes de commit claros:

    • Usa tiempo presente ("Añadir característica" en lugar de "Añadido característica")
    • Usa modo imperativo ("Mover cursor a..." en lugar de "Mueve cursor a...")
    • Limita la primera línea a 72 caracteres
    • Referencia problemas y pull requests cuando sea relevante
  4. Haz push a tu fork:

    git push origin feature/your-feature-name
    

Crear el Pull Request

  1. Ve al repositorio
  2. Haz clic en "Pull requests" → "New pull request"
  3. Haz clic en "compare across forks"
  4. Selecciona tu fork y rama
  5. Haz clic en "Create pull request"

Formato del título del PR

Usa títulos claros y descriptivos siguiendo este formato:

[Component] Brief description

Ejemplos:

  • [Lesson 7] Fix Python notebook import error
  • [Quiz App] Add German translation
  • [Docs] Update README with new prerequisites
  • [Fix] Correct data path in visualization lesson

Descripción del PR

Incluye en la descripción de tu PR:

  • Qué: ¿Qué cambios realizaste?
  • Por qué: ¿Por qué son necesarios estos cambios?
  • Cómo: ¿Cómo implementaste los cambios?
  • Pruebas: ¿Cómo probaste los cambios?
  • Capturas de pantalla: Incluye capturas para cambios visuales
  • Problemas relacionados: Enlace a problemas relacionados (por ejemplo, "Fixes #123")

Proceso de revisión

  1. Se ejecutarán verificaciones automáticas en tu PR
  2. Los mantenedores revisarán tu contribución
  3. Aborda los comentarios realizando commits adicionales
  4. Una vez aprobado, un mantenedor fusionará tu PR

Después de que tu PR sea fusionado

  1. Elimina tu rama:

    git branch -d feature/your-feature-name
    git push origin --delete feature/your-feature-name
    
  2. Actualiza tu fork:

    git checkout main
    git pull upstream main
    git push origin main
    

Guías de estilo

Markdown

  • Usa niveles de encabezado consistentes

  • Incluye líneas en blanco entre secciones

  • Usa bloques de código con especificadores de lenguaje:

    ```python
    import pandas as pd
    ```
    
  • Añade texto alternativo a las imágenes: ![Texto alternativo](../../translated_images/es/image.4ee84a82b5e4c9e6651b13fd27dcf615e427ec584929f2cef7167aa99151a77a.png)

  • Mantén las líneas con una longitud razonable (alrededor de 80-100 caracteres)

Python

  • Sigue la guía de estilo PEP 8
  • Usa nombres de variables significativos
  • Añade docstrings a las funciones
  • Incluye sugerencias de tipo cuando sea apropiado:
    def process_data(df: pd.DataFrame) -> pd.DataFrame:
        """Process the input dataframe."""
        return df
    

JavaScript/Vue.js

  • Sigue la guía de estilo de Vue.js 2
  • Usa la configuración de ESLint proporcionada
  • Escribe componentes modulares y reutilizables
  • Añade comentarios para lógica compleja

Organización de archivos

  • Mantén los archivos relacionados juntos
  • Usa nombres de archivo descriptivos
  • Sigue la estructura de directorios existente
  • No hagas commit de archivos innecesarios (.DS_Store, .pyc, node_modules, etc.)

Acuerdo de Licencia para Contribuidores

Este proyecto acepta contribuciones y sugerencias. La mayoría de las contribuciones requieren que aceptes un Acuerdo de Licencia para Contribuidores (CLA) declarando que tienes el derecho de, y efectivamente, nos otorgas los derechos para usar tu contribución. Para más detalles, visita
https://cla.microsoft.com.

Cuando envíes un pull request, un bot de CLA determinará automáticamente si necesitas proporcionar un CLA y decorará el PR apropiadamente (por ejemplo, etiqueta, comentario). Simplemente sigue las instrucciones proporcionadas por el bot. Solo necesitarás hacer esto una vez en todos los repositorios que usen nuestro CLA.

¿Preguntas?

¡Gracias!

Tus contribuciones hacen que este currículo sea mejor para todos. ¡Gracias por tomarte el tiempo de contribuir!


Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Aunque nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.