Domando eventos recurrentes de iCalendar con funciones de distancia
El autor encontró un desafío al manejar eventos recurrentes durante la implementación de una biblioteca para procesar archivos iCalendar. iCalendar utiliza reglas complejas para definir eventos recurrentes, y las implementaciones tradicionales suelen implicar escribir mucha lógica específica para diferentes frecuencias y parámetros. El autor adoptó un enfoque diferente, considerando las reglas de recurrencia como consultas SQL y tomando prestadas ideas de las funciones de distancia con signo (SDF) en gráficos por computadora, representando las ocurrencias de eventos mediante funciones de distancia. Este método descompone las reglas complejas en funciones de distancia simples, calculando iterativamente las horas de ocurrencia de los eventos para evitar numerosos juicios condicionales, lo que resulta en un código más limpio y fácil de mantener. Si bien la implementación inicial no era muy eficiente, el autor la optimizó para manejar reglas de recurrencia complejas en milisegundos.