3 votes

Existe-t-il un DSL standard pour la validation de l'intégrité des données ?

Je suis confronté à des fichiers CSV qui proviennent de clients et qui peuvent contenir des centaines de milliers de lignes. Existe-t-il un DSL (ou une bibliothèque très populaire en Java ou Python) capable d'effectuer efficacement des calculs sur ces informations, en appliquant diverses règles pour émettre des avertissements et des erreurs (configurables par l'utilisateur, bien sûr) ?

1voto

Boris Treukhov Points 5564

Pouvez-vous imaginer une DSL qui le ferait ? A quoi ressembleront les règles ?

Il y a plusieurs mois, j'ai travaillé sur un tel problème - au final, il s'est avéré plus difficile qu'il n'y paraissait au départ.

  1. La première étape était évidente - toutes les lignes ont été analysées et placées dans les stuctures de données spéciales afin que je puisse travailler avec eux ; ceux avec des champs manquants ont été jetés.

  2. Chaque ligne avait sa propriété "stratégie" actuelle et une liste de stratégies possibles stratégies possibles (Action par défaut, Ignorer, Forcer, Ecraser, etc.)

  3. Au début, toutes les rangées avaient leur propriété "stratégie" était définie sur "Default".

  4. Le processeur de rangée a vérifié que l'opération était possible, en créant une liste d'erreurs et d'avertissements.

  5. Après traitement et l'analyse des résultats, chaque ligne qui qui posait problème a reçu une liste de stratégies alternatives que l'utilisateur pouvait choisir ;

Ainsi, en cas de problème, l'utilisateur peut modifier la stratégie de rangée (ou simplement utiliser "Ignorer") et revenir à l'étape 4.

Alors, je suis curieux de savoir à quelle étape une telle LIS fonctionnerait ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X