Saltar a contenido

Guia de estilo de codigo#

Python (backend / scripts)#

  • Python 3.13, tipado opcional (PEP484). Usa mypy (TODO habilitar) para modulos criticos.
  • Formateo recomendado: ruff format o black (line length 100).
  • Imports: estandar terceros locales, separados por linea en blanco.
  • Nombres:
  • Rutas FastAPI en snake_case.
  • Modelos SQLAlchemy/Pydantic en PascalCase.
  • Evita logica compleja en controladores; delega a servicios (backend/services/*).
  • Manejo de settings via backend/config.py; no acceder a os.getenv disperso.

Frontend web (Next.js / React)#

  • TypeScript obligatorio para componentes y hooks.
  • Usa Next.js para el enrutado y la estructura de paginas; agrupa logica por dominios en src/features/*.
  • Gestion de estado orientada a datos: React Query/SWR para llamadas HTTP; evita estados globales innecesarios.
  • Estilo: ESLint + Prettier con reglas consistentes (80–100 columnas).
  • Integracion de TradingView a traves de un adaptador de datos que consuma /market-data/* del backend, sin llamar directo a proveedores externos desde el frontend.

Scripts CLI#

  • Ubicados en /scripts.
  • Siempre incluir if __name__ == "__main__": main().
  • Aceptar parametros via argparse y registrar en logging.
  • Cuando un script modifique datos, loggear resumen (ids tocados, tiempo de ejecucion).

Comentarios / Docstrings#

  • Documenta modulos complejos (OpenApiWebSocketClient, GoalMonitor) con docstrings cortos.
  • Verifica cobertura/estilo de docstrings antes de merge:
  • python3 scripts/audit_docstrings.py --root backend --fail-on-missing --fail-on-robotic
  • Usa TODO(owner?): descripcion para tareas pendientes.

Commits#

  • feat:, fix:, docs:, chore:... (conventional commits).
  • Referencia historias/tickets cuando aplique (feat: agregar alertas operativas locales (SDP-42)).