Probleem
src/output/postprocessor.py (413 regels) combineert 6+ verantwoordelijkheden in één class:
- Output file validatie (regel 20-39)
- Voorspellingen toevoegen (regel 52-89)
- Numerus fixus capping (regel 91-140)
- Ensemble berekening (regel 208-330)
- Error metrics (regel 352-388)
- Bestandsopslag (regel 392-413)
Impact
- Schendt Single Responsibility Principle
- Moeilijk te testen: je kunt ensemble-logica niet los testen van file I/O
- Wijzigingen aan foutberekening risken onbedoeld de ensemble-logica te breken
- Blokkeert effectieve testdekking
Voorstel
Opsplitsen in:
src/output/ensemble.py — EnsembleCalculator (gewogen + ongewogen ensemble)
src/output/errors.py — ErrorMetrics (MAE, MAPE berekeningen)
src/output/writer.py — OutputWriter (Excel output)
src/output/postprocessor.py — orchestratie die bovenstaande combineert
Prioriteit
HOOG — blokkeert testbaarheid, groot onderhoudsprobleem.
Probleem
src/output/postprocessor.py(413 regels) combineert 6+ verantwoordelijkheden in één class:Impact
Voorstel
Opsplitsen in:
src/output/ensemble.py—EnsembleCalculator(gewogen + ongewogen ensemble)src/output/errors.py—ErrorMetrics(MAE, MAPE berekeningen)src/output/writer.py—OutputWriter(Excel output)src/output/postprocessor.py— orchestratie die bovenstaande combineertPrioriteit
HOOG — blokkeert testbaarheid, groot onderhoudsprobleem.