Mantener un código consistente y legible acelera el trabajo en equipo. Aquí aprenderás a configurar Ruf como formateador automático en Python, reemplazando herramientas como Black y Sort, aplicando PEP 8 por defecto y ajustando reglas desde pyproject.toml. Verás cómo formatear todo el proyecto, personalizar comillas y excluir rutas generadas por un framework.
¿Cómo instalar y configurar Ruf con pyproject.toml?
Configurar Ruf desde el principio evita fricciones de estilo y facilita la colaboración. La instalación se hace en el entorno de desarrollo y queda registrada en el archivo de configuración del proyecto.
Abre la terminal en la carpeta del proyecto.
Agrega la dependencia al entorno de desarrollo con el gestor de paquetes.
V add --def Ruf
Verifica que en pyproject aparezca la dependencia en el grupo de desarrollo.
Ejecuta el formateo en el path actual.
root format.
Revisa los cambios: se reportan archivos reformateados y archivos sin cambios.
Ejemplo real: 20 archivos reformateados y 3 sin cambios.
Cambios típicos que verás:
Inserción de líneas en blanco para legibilidad.
Cambio de comillas simples a dobles o viceversa.
Alineación y espacios según PEP 8.
Idea clave: por defecto, Ruf aplica PEP 8 automáticamente. Si tu equipo usa otro estándar, configura las reglas en pyproject.toml para mantener consistencia.
¿Qué reglas PEP 8 aplica y cómo personalizarlas?
Ruf es un reemplazo de Black que formatea según PEP 8. Sin embargo, puedes ajustar el estilo para seguir reglas ya establecidas en tu proyecto, todo desde pyproject.toml dentro de la sección de configuración de la herramienta.
¿Cómo cambiar el estilo de comillas?
Si necesitas que las comillas sean simples, define el quote style en la configuración. Al volver a ejecutar el formateo, Ruf actualizará los archivos según la regla.
[tool.ruf]quote style ="single"
Efecto: cuando había comillas dobles, pasarán a comillas simples.
Úsalo solo si tu proyecto no seguirá PEP 8 por defecto en este aspecto.
¿Cómo excluir archivos con extend exclude?
Evita que se formatee código generado automáticamente por un framework agregando rutas a una lista de exclusiones. Crea una carpeta, por ejemplo: do not format, y añádela a la configuración.
[tool.ruf]extend exclude =["Platinus/do not format/"]
Crea un archivo .py dentro de esa ruta con comillas simples.
Ejecuta:
root format.
Resultado: ese archivo no se modifica.
Buenas prácticas de configuración:
Mantén un estándar único: si no es PEP 8, que sea el estándar del proyecto.
Controla cambios de estilo desde pyproject.toml para todo el equipo.
¿Qué buenas prácticas y flujo de trabajo recomiendan?
Adoptar Ruf de forma ordenada reduce conflictos en pull requests y acelera las revisiones.
Configura Ruf desde el inicio del proyecto para evitar divergencias de formato.
Integra Ruf format en hooks de pre-commit para validar antes de cada commit.
Define reglas consistentes en pyproject.toml y compártelas con todo el equipo.
Si necesitas volver a PEP 8 por defecto, revierte cambios de configuración y vuelve a formatear.
¿Ya configuraste Ruf en un proyecto personal? Comparte cuántos archivos se modificaron y qué reglas ajustaste para tu equipo.
Cambios comunes:
✨ Líneas en blanco mejor distribuidas
✨ Comillas ajustadas según reglas
✨ Alineación y espacios siguiendo PEP 8
🎛️ Personalización del Formato
📝 Cambiar el estilo de comillas
Configura comillas simples:
[tool.ruf]
quote style = "single"
🔄 Producción: todas las comillas dobles pasan a simples.
🚫 Excluir Rutas del Formateo
🗂️ Excluir carpetas o archivos
Agrega en pyproject.toml:
[tool.ruf]
extend exclude = ["Platinus/do not format/"]
🧪 Prueba práctica:
1. Crea un archivo .py en esa carpeta
2. Ejecuta root format .
3. ✔ El archivo no se modifica
Resumen:
■■■■■
Todo proyecto profesional de python debería tener:
1. Formateadores automáticos como Ruff, que facilita la tarea de dar formato PEP8 y demás convenciones customizables en el pyproject.toml.
2. Configurar Ruff al inicio del proyecto y utilizar los Hooks del precommit.
3. Tener un .toml con las dependencias, formateadores y demás es clave para trabajar consistentemente entre equipos.
Varför är Ruff bättre än Black?
Ruff är extremt snabbt eftersom det är skrivet i Rust, till skillnad från traditionella Python-verktyg som Black eller Flake8. Det fungerar inte bara som en formaterare utan också som en linter, vilket innebär att du kan ersätta flera verktyg med ett enda. Detta minskar komplexiteten i ditt projekt avsevärt. Dessutom är det designat för att vara helt kompatibelt med Blacks formateringsregler, så övergången är nästan osynlig för ditt team. Du får exakt samma konsekventa kodstil men med en exekveringstid som är bråkdelar av en sekund. Detta är ovärderligt i stora kodbaser där långsamma verktyg annars kan störa utvecklarnas fokus och flöde.
Por algún motivo me sugirió un comment en este idioma.
Entiendo que quieres crear un videojuego pero no sabes programar. Si bien este curso se enfoca en la calidad de código en Python, la programación es fundamental para crear videojuegos.
Para empezar a entender mejor, te sugiero explorar los fundamentos de la programación. Busca recursos que te enseñen los conceptos básicos de lógica, variables, estructuras de control y funciones. Una vez que tengas una base, podrás adentrarte en motores de juegos como Unity o Unreal Engine, que a menudo utilizan lenguajes como C# o C++.