We are currently processing huge amount of sensitive corporate data for a Fortune 500 company as the first phase of a project. Stiamo attualmente trasformazione enorme quantità di dati aziendali sensibili per una società Fortune 500 come la prima fase di un progetto. You have to be very careful in data processing, much more than any standard programming effort. Dovete essere molto attenti nel trattamento dei dati, molto più di qualsiasi sforzo di programmazione standard. Here are few tips you may find useful when programming to process sensitive data in bulk. Ecco alcuni suggerimenti si possono trovare utile quando programmazione al trattamento dei dati sensibili alla rinfusa. Get your best (wo)men on the job. Ottenere il vostro migliore (wo) gli uomini sul posto di lavoro.

Institute a policy of random manual check. Istituto di una politica di controllo manuale casuale. It may not be feasible to manually verify all or even most of the data. Potrebbe non essere possibile verificare manualmente o anche tutti i la maggior parte dei dati. However you must rigorously check a significant random subset of data from every batch. Tuttavia è necessario controllare rigorosamente casuale un significativo sottoinsieme di dati da ogni lotto. You will be surprised how much you can discover about the data as well as any errors by this simple step. Rimarrete sorpresi quanto potete scoprire circa i dati e gli eventuali errori di questo semplice passo.

Program safely not optimally. Programma di sicurezza non ottimale. You must program safely; this is not the time to think about optimizations. È necessario programma di sicurezza; questo non è il tempo a pensare a ottimizzazioni. Data accuracy is your primary concern. Accuratezza dei dati è la vostra principale preoccupazione. Performance isn’t normally an issue. Prestazioni normalmente non è un problema. Name the variables clearly and accurately to help with code review. Il nome delle variabili in modo chiaro e preciso per aiutare con il codice di revisione.

Write down your logic in pseudo-code. Scrivere il tuo logica pseudo-codice. Code review yourself at least twice and get at least one other person to do it in details. Revisione del codice te almeno due volte e ottenere almeno un altra persona di farlo in dettagli. It is very easy to miss little details while coding. E 'molto facile perdere piccoli dettagli, mentre la codifica. Finding such errors are easy in normal application development. Trovare tali errori sono di facile applicazione in condizioni normali di sviluppo. Finding little logical errors in huge amount of data is next to impossible. Poco logico trovare errori in grandi quantità di dati è accanto a impossibile.
Thoroughly code review your final code after you are done with at least one or more senior programmers. Revisione del codice a fondo il tuo codice finale dopo aver finito con almeno uno o più alti programmatori.

Extensively test with a small subset of data. Ampiamente prova con un piccolo sottoinsieme di dati. Repeat the process with two or more of such set. Ripetere il processo con due o più di tali impostata.

Get your data experts to manually review the generated data. Ottenere i dati di esperti revisione manuale dei dati generati. They can find smell faster than anyone else. Essi possono trovare odore più veloce di chiunque altro.

I cannot over-stress the importance of writing quality unit tests for such projects. Non posso più-sottolineano l'importanza di scrittura unità di test di qualità per questo tipo di progetti. However you should also write tests to independently verify the generated / uploaded data. Tuttavia si dovrebbe anche scrivere test per verificare indipendentemente generato / caricamento dati. Get input for such tests from the domain experts. Ingresso per ottenere tali prove dal dominio esperti. Do not compromise at all on testing. Non compromesso a tutti i test su.

Use a strongly typed language like Java. Utilizzare un linguaggio fortemente tipizzato come Java.

Last but not the least you should get your most experienced developers on the job. Non da ultimo si dovrebbe ottenere il vostro più esperti sviluppatori sul posto di lavoro. Bulk data processing and mining is a different ball-game than standard application development. Rinfusa di trattamento dei dati e di estrazione mineraria è un'altra palla-gioco da quelli standard per lo sviluppo di applicazioni.