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
- ¿Cómo puedo contribuir?
- Primeros pasos
- Guías de contribución
- Proceso de Pull Request
- Guías de estilo
- Acuerdo de Licencia para Contribuidores
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:
- Una cuenta de GitHub
- Git instalado en tu sistema
- Python 3.7+ y Jupyter instalados
- Node.js y npm (para contribuciones a la aplicación de cuestionarios)
- Familiaridad con la estructura del currículo
Consulta INSTALLATION.md para instrucciones detalladas de configuración.
Hacer un fork y clonar
-
Haz un fork del repositorio en GitHub
-
Clona tu fork localmente:
git clone https://github.com/YOUR-USERNAME/Data-Science-For-Beginners.git cd Data-Science-For-Beginners -
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 leccionesfix/- Corrección de erroresdocs/- Cambios en la documentaciónrefactor/- Refactorización de código
Guías de contribución
Para contenido de lecciones
Al contribuir con lecciones o modificar las existentes:
-
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
-
Incluye estos elementos:
- Objetivos de aprendizaje claros
- Explicaciones paso a paso
- Ejemplos de código con comentarios
- Ejercicios para practicar
- Enlaces a recursos adicionales
-
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
-
Limpia todas las salidas antes de hacer el commit:
jupyter nbconvert --clear-output --inplace notebook.ipynb -
Incluye celdas de markdown con explicaciones
-
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 -
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:
-
Prueba localmente:
cd quiz-app npm install npm run serve -
Ejecuta el linter:
npm run lint -
Construye exitosamente:
npm run build -
Sigue la guía de estilo de Vue.js y los patrones existentes
Para traducciones
Al añadir o actualizar traducciones:
- Sigue la estructura en la carpeta
translations/ - Usa el código de idioma como nombre de carpeta (por ejemplo,
frpara francés) - Mantén la misma estructura de archivos que la versión en inglés
- Actualiza los enlaces de los cuestionarios para incluir el parámetro de idioma:
?loc=fr - Prueba todos los enlaces y el formato
Proceso de Pull Request
Antes de enviar
-
Actualiza tu rama con los últimos cambios:
git fetch upstream git rebase upstream/main -
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
-
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
-
Haz push a tu fork:
git push origin feature/your-feature-name
Crear el Pull Request
- Ve al repositorio
- Haz clic en "Pull requests" → "New pull request"
- Haz clic en "compare across forks"
- Selecciona tu fork y rama
- 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
- Se ejecutarán verificaciones automáticas en tu PR
- Los mantenedores revisarán tu contribución
- Aborda los comentarios realizando commits adicionales
- Una vez aprobado, un mantenedor fusionará tu PR
Después de que tu PR sea fusionado
-
Elimina tu rama:
git branch -d feature/your-feature-name git push origin --delete feature/your-feature-name -
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:
 -
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?
- Consulta nuestro Canal de Discord #data-science-for-beginners
- Únete a nuestra comunidad de Discord
- Revisa los problemas existentes y pull requests
¡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.