# RESUMEN DEL PROYECTO - sec_interp
Fecha de análisis: 2025-12-28 09:50:12
Versión del analizador: 2.0 (Optimizado)

## 📊 MÉTRICAS CLAVE
- **Total módulos**: 95
- **Líneas de código**: 13,712
- **Tamaño total**: 34.0 MB
- **Complejidad promedio**: 10.2
- **Cobertura de docstrings**: 99.0%
- **Score de calidad**: 90.0/100
- **Archivos de test**: 351

## 📁 ESTRUCTURA
- **Archivos Python**: 114
- **Total archivos**: 1079
- **Tipo de archivos principales**: .py, .dat, .pyc, .sip, .pyi

## 🚨 PROBLEMAS CRÍTICOS

### 🔒 Problemas de Seguridad:

### 🏗️ Deuda Técnica Crítica:
- **sec_interp_plugin.py**: 2 issues (score: 5)
- **gui/main_dialog_preview.py**: 2 issues (score: 5)

## 📦 ESTÁNDARES DE PLUGIN QGIS
- **Score de Cumplimiento**: 52.8/100
- ⚠️ **Arquitectura**: 13 violaciones detectadas (mezcla UI/Core)
  - gui/main_dialog_export.py: HEAVY_LOGIC_IN_GUI
  - gui/main_dialog_tools.py: HEAVY_LOGIC_IN_GUI
- 🛠️ **Mejores Prácticas**: 5 desviaciones de los estándares de QGIS
  - 🟡 core/validation/layer_validator.py:38: mapLayersByName() puede ser impreciso. Considerar mapLayers() o accesos directos por ID.
  - 🟡 generate_ai_templates.py:297: Uso de print() detectado. Usar QgsMessageLog para mayor profesionalidad.
  - 🟡 logger_config.py:64: Uso de print() detectado. Usar QgsMessageLog para mayor profesionalidad.
  - 🟡 logger_config.py:132: Uso de print() detectado. Usar QgsMessageLog para mayor profesionalidad.
  - 🟡 sec_interp_plugin.py:268: mapLayersByName() puede ser impreciso. Considerar mapLayers() o accesos directos por ID.

## 💡 RECOMENDACIONES PRINCIPALES

### core/services/preview_service.py
- Funciones muy largas (promedio 65.8 líneas/función)

### core/validation/layer_validator.py
- Alta complejidad (25) con 6 funciones

### core/services/drillhole_service.py
- Alta complejidad (47) con 8 funciones
- Módulo muy grande (462 líneas)

## 📈 DISTRIBUCIÓN DE COMPLEJIDAD
- low (0-5): 47 módulos (49.5%)
- medium (6-15): 27 módulos (28.4%)
- high (16-30): 13 módulos (13.7%)
- very_high (31+): 8 módulos (8.4%)
