Apprivoiser les événements récurrents iCalendar avec des fonctions de distance

2025-04-17
Apprivoiser les événements récurrents iCalendar avec des fonctions de distance

L'auteur a rencontré un défi en gérant les événements récurrents lors de l'implémentation d'une bibliothèque pour traiter les fichiers iCalendar. iCalendar utilise des règles complexes pour définir les événements récurrents, et les implémentations traditionnelles impliquent généralement d'écrire beaucoup de logique spécifique pour différentes fréquences et paramètres. L'auteur a adopté une approche différente, considérant les règles de récurrence comme des requêtes SQL et empruntant des idées des fonctions de distance signées (SDF) en infographie, représentant les occurrences d'événements à l'aide de fonctions de distance. Cette méthode décompose les règles complexes en fonctions de distance simples, calculant itérativement les heures d'occurrence des événements pour éviter de nombreux jugements conditionnels, ce qui donne un code plus propre et plus facile à maintenir. Bien que l'implémentation initiale n'était pas très efficace, l'auteur l'a optimisée pour gérer les règles de récurrence complexes en millisecondes.

(pwy.io)