Dovrei preoccuparmi di normalizzare i dati degli indirizzi?

3

Sto richiedendo informazioni su un User s indirizzo e come è buona pratica quando raccolgo informazioni, convalido l'input e rispondo di conseguenza, ove appropriato.

Supponendo che venga ricevuto un input valido, il formato dell'input (in particolare il character box) potrebbe essere un po ' funky .

Ad esempio; dato l'input 34b bAker STREET , preferirei che fosse 34B Baker Street .

Ora potrei scrivere la logica per normalizzare l'input, tuttavia, data la moltitudine di formati di linee di indirizzo (almeno nel Regno Unito), si tratta di un'ottimizzazione che non restituirà molto beneficio finché l'input stesso è valido?

Avere un involucro funky è fastidioso, ma non dannoso per la funzionalità del sistema.

    
posta Unflux 21.09.2017 - 08:49
fonte

2 risposte

7

Il problema con la normalizzazione dei dati è che non puoi essere sicuro di cambiarlo in meglio, anche se la maggior parte dei casi lo sei. Inoltre, suppongo che se si verificasse l'esistenza di tale indirizzo già nel database, si eseguirà un controllo senza distinzione tra maiuscole e minuscole, pertanto l'alloggiamento delle lettere non è particolarmente importante a tale riguardo.

Il vero problema deriva dalla visualizzazione di tali dati. Hai intenzione di mostrare all'utente l'indirizzo quando l'hai inserito o lo normalizzi? È un po 'soggettivo, ma immagino che puoi sempre normalizzarlo più tardi se necessario, ma solo se conservi i dati come sono . Se normalizzi prima di inserirlo nel tuo database, stai forzando la tua mano nella questione e non sarai mai in grado di mostrarlo mentre l'utente lo ha inserito.

In base alla mia esperienza, le ipotesi relative a nomi, indirizzi e numeri telefonici causano problemi e non si può criticare semplicemente mostrando lo stesso utente che l'ha inserito, in primo luogo lo stesso valore. Quindi, in breve, nell'interesse della flessibilità e della correttezza, se è valido, è abbastanza buono da essere aggiunto al tuo database così com'è.

    
risposta data 21.09.2017 - 09:09
fonte
3

La normalizzazione di un indirizzo è essenzialmente impossibile da eseguire correttamente con un algoritmo basato su regole. Fortunatamente, i servizi di posta vogliono che i mittenti usino indirizzi precisi, quindi molti paesi distribuiscono database di tutti gli indirizzi che servono. Nel Regno Unito si chiama il file dell'indirizzo del codice postale . Esistono vari provider di servizi che creano API carine sul PAF per semplificare la convalida degli indirizzi e la normalizzazione. Riceverai gli indirizzi nel modulo che Royal Mail preferisce usare, che è quello che vuoi veramente. Questo corrisponde esattamente all'indirizzo normalizzato che i tuoi clienti vedranno da ogni sito web che lo fa correttamente.

    
risposta data 21.09.2017 - 17:24
fonte

Leggi altre domande sui tag