ngrams
ngrams copied to clipboard
Extract Method
Problema: Métodos largos como train() realizan múltiples tareas (tokenizar, actualizar conteos y vocabulario), dificultando comprensión y mantenimiento.
Beneficios:
Mejor legibilidad al dividir en submétodos descriptivos.
Facilita depuración y pruebas parciales.
Aísla cada paso para modificaciones sin afectar el flujo total.
Solución Aplicada: Se dividió train() en tres métodos privados: tokenizeSample(), updateCounts(), updateVocabulary(), invocados desde train().