2010-04-01 2 views
5

Supponiamo che tu stia sviluppando un software davvero interessante. Sarà distribuito a molti clienti. Avranno bisogno di questo software e lo useranno in situazioni critiche. Quindi se qualcosa va storto chiameranno (tu). E tu o il tuo team sarete quelli che dovranno risolvere il problema. Veloce. Sapete per esperienza questo accadrà.Cosa implementare oggi per aiutarti a correggere i bug in futuro?

Ora, se potessi decidere cosa implementare per aiutare il tuo sé futuro - quale sarebbe?

Modifica: si tratta di applicazioni desktop. Grazie Marcelo.

Modifica: Supponiamo anche che il supporto tecnico non riesca a parlarne e deve essere risolto. O non c'è un supporto tecnico dedicato.

+1

App desktop o web? Fa una grande differenza –

risposta

4
  • Un sistema di registrazione
  • Un modo per il cliente di inviare automaticamente crash dump
  • messaggi di errore decente ("verificato un errore sconosciuto Codice di errore:. 0xAA001200" è un no go)

In ogni caso, il tuo tempo è meglio speso per migliorare il software. Questo sembra il tipo di lavoro per il supporto tecnico/QA.

+0

Ok del sistema di registrazione: come un sistema di registrazione sviluppato autonomamente? O forse qualcosa come il log degli eventi di Windows? Lo lasceresti sempre abilitato? O abilitarlo su richiesta? Hm ... Questo potrebbe gonfiare il codice. Ma sono d'accordo che la registrazione è una buona cosa. Ma bisognerebbe registrare tutto. La registrazione di dati complessi può costare tempo ... e memoria. Vuoi criptare il registro? Useresti file di testo ...? –

+0

Queste sono tutte domande molto vaghe. Dipende dalle tue esigenze, dal tipo di applicazione, ecc. (Comunque la registrazione non è molto intensiva della CPU, e sicuramente non richiede molta memoria) –

+0

Lo so lo so. Ci sono molti modi in cui questa domanda potrebbe essere ansed. Possiamo parlare di metodi generali come la generazione di un log (file?). Quindi dovremmo parlare di un buon metodo per trasferire il registro. E presto potremo parlare dei dettagli di implementazione. Ad esempio: c'è una funzione di registrazione Log(). Se si chiama Log() in un ciclo chiuso, ciò potrebbe influire sulle prestazioni. Anche i parametri che si desidera registrare potrebbero richiedere tempo per essere generati. Ora se si registra tutto ciò influisce sulle prestazioni. –

0

Test di unità e integrazione automatizzati.

+0

Concordato, un must per prevenire bug in primo luogo. –

+0

Anche fondamentale per evitare l'aggiunta di bug mentre si risolvono quelli persi. –

Problemi correlati