Sto cercando di trovare un modo per migliorare un algoritmo di filtraggio. Sto sviluppando un software di backup che consente agli utenti di specificare filtri personalizzati per escludere file / directory indesiderati. Attualmente quando provi a verificare se un file deve essere incluso nel backup, il percorso del file viene confrontato con un elenco di regole.
Ogni regola è specifica per un singolo percorso (file o directory) e il percorso del file viene confrontato in un modo simile a questo:
Supponiamo che questa sia la nostra struttura delle regole
[Rule]
Path = "C:\Windows\"
Exclude = TRUE
E confronto il percorso del file che ho ottenuto con il percorso della regola per la lunghezza del percorso della regola.
Ora, questo funziona correttamente e non ho avuto un problema con esso, ma il mio problema è che non ho un limite al numero di regole che un utente può aggiungere al sistema. Può aggiungere tutte le regole che gli piacciono e questo è il mio problema.
Più regole un utente aggiunge significa più iterazioni per ogni file rispetto al set di regole.
Che cosa è una buona pratica per fare una cosa del genere?