Best practice per il mantenimento di lettere maiuscole e dati del caso corretto

1

Abbiamo diversi anni di dati dei clienti che sono stati raccolti nel tempo. Immagino che il 95% dei dati (nomi, nomi aziendali e indirizzi) sia in formato MAIUSCOLO.

Lo strumento di inserimento dati utilizzato all'interno della nostra organizzazione offre una funzione "Esporta come caso corretto". Non abbiamo la possibilità di modificare questa funzione di importazione dei dati. È un interruttore tutto o niente. Abbiamo attivato questa opzione a gennaio 2013 e da allora abbiamo rilevato numerose anomalie dei dati:

Original Data          Proper Case Import
-------------          ------------------
McDonald               Mcdonald
MacDonald              Macdonald 
O'Neil                 O'neil
My First LLC           My First Llc
[email protected]      [email protected]
John Smith III         John Smith Iii

I nostri dati sono memorizzati in un ambiente chiuso su un iSeries. Disponiamo di un'interfaccia Web che consente modifiche ai record singole. Purtroppo non ho la possibilità di eseguire una query di aggiornamento del database per aggiornare i nostri dati e apportare modifiche di massa.

Quali sono le Best Practices che hai adottato all'interno della tua organizzazione per quanto riguarda il mantenimento dei dati del caso corretto rispetto ai dati MAIUSCOLI?

Ho due o tre persone nell'organizzazione che stanno spingendo per i dati del caso corretto sul sistema. La maggior parte delle altre persone desidera i dati MAIUSCOLI sul sistema. Sto cercando di mettere insieme una presentazione che dichiari quanto sia irrealistico passare a un ambiente di dati Case corretto.

Quali sono alcuni buoni punti di discussione o argomenti che supportano tutti i dati di MAIUSCOLO?

    
posta Michael Riley - AKA Gunny 11.04.2013 - 19:21
fonte

4 risposte

1

Suggerirei di non forzare le stringhe inserite dall'utente in alcun formato "corretto", eccetto per il taglio degli spazi iniziali e finali. Nel caso del trasferimento dei dati, lasciatelo nel formato esistente, ma memorizza i nuovi dati appena inseriti.

Se è necessario un caso "corretto" ai fini della prestazione, puoi costringere sia i dati che i criteri in un caso arbitrario. Sarebbe meglio indicizzare su una funzione caso arbitraria applicata ai dati (o creare una colonna caso arbitrario duplicata se il database non supporta quel tipo di indice) e i criteri di coercizione in quel caso.

Per le stringhe, penso che la migliore pratica sia quella di fidarsi che l'utente significhi ciò che dicono, perché ogni supposizione che si esegue sarà spesso sbagliata. L'eccezione sarebbe quando vengono date istruzioni per entrare in un particolare formato, in tal caso eseguire la formattazione per loro conto, ove possibile (es .: se entrano nel caso sbagliato, basta correggerlo piuttosto che generare un errore).

    
risposta data 11.04.2013 - 20:11
fonte
0

I nomi delle persone non sono maiuscole utilizzando le regole del caso appropriate. Nel tuo esempio, la corretta maiuscola di O'neil è O'Neil. A seconda dell'individuo, l'errata maiuscola del proprio nome potrebbe essere alquanto offensiva. Non ha senso correre il rischio di offendere un potenziale cliente o (peggio!) Un cliente esistente sfruttando erroneamente il proprio nome in stampa e le comunicazioni elettroniche con loro.

    
risposta data 11.04.2013 - 19:59
fonte
0

Questo problema è interamente un problema di ciò di cui hanno bisogno i consumatori . Non è un problema di programmazione in quanto entrambi possono essere raggiunti (anche se il propercasing è più difficile). In azienda lavoro per gli utenti non voglio mai vedere tutto in maiuscolo e quindi propercase tutto in fase di importazione. Volevano tutto in maiuscolo, lo faremmo.

Potresti avere una regola aziendale che aumenta il carattere a destra di "o che fa scalare il chareter a destra di Mac o Mc (quando appaiono all'inizio del nome). Sarebbe anche uppcase II, IV o III quando sono alla fine di un nome. Che gestisce la maggior parte dei problemi di nome della gente.

Se trovi le eccezioni che desideri man mano, puoi creare una tabella delle eccezioni con la versione del nome proposta. Puoi usare quella correzione per qualsiasi nome che venga all'attenzione dell'azienda che non fa parte delle normali regole. Questo alla fine includerà quasi tutti i problemi di nome che hai.

I nomi e gli indirizzi delle società sono più difficili e accettiamo qualsiasi cosa la normale funzione di propercasing distribuisca per le importazioni e tutto ciò che è digitato per i record aggiunti dalla GUI. Se qualcuno si attiene alla maiuscola, possiamo risolverlo tramite la GUI e l'importazione non lo aggiornerà.

    
risposta data 11.04.2013 - 21:02
fonte
0

Un argomento per tutti i dati maiuscoli è che è il più suscettibile all'internazionalizzazione di tutti i formati. Ecco perché Microsoft consiglia il uppercasing anziché il minuscolo nel framework .NET :

Use the String.ToUpperInvariant method instead of the String.ToLowerInvariant method when you normalize strings for comparison.

Questo potrebbe non avere importanza per il tuo caso.

Ci sono anche alcuni benefici secondari, per esempio, le lettere maiuscole tendono ad essere più facili da leggere per quelle con visione non ideale.

Nel complesso, non posso pensare a un gran numero di considerazioni. I nomi dei nomi sono solo nomi, il loro involucro di solito non cambia il contesto a meno che tu non stia applicando i nomi in un contesto piuttosto che avere solo il nome per scopi di reporting o di tipo statistico. Quindi se stai creando messaggi di benvenuto o qualcosa del genere, il caso è probabilmente molto più importante.

    
risposta data 11.04.2013 - 21:54
fonte

Leggi altre domande sui tag