Cose da fare prima di andare in produzione

3

Sto finendo un progetto Python / Shell di dimensioni decenti, e mi chiedo se ci sia una lista di "best practice" da fare quando si termina lo sviluppo.

Finora ho fatto:

  • pylint
  • pycallgraph
  • grep per: TODO: e: FIXME:
  • trova il codice orfano
  • qualche altra documentazione
  • installa script per client e server
  • assicurati che i commenti corrispondano alla realtà (prima di dimenticare i punti più fini)

Quali altre cose fai, in generale, o specifiche di Python?

    
posta Marcin 23.08.2013 - 21:02
fonte

3 risposte

4
  • assicurati di avere abbastanza test automatici
  • eseguili!
  • verifica anche le cose per cui non hai test di regressione automatici (ad esempio, gli script di installazione)
  • e assicurati di avere tutto controllato nel tuo SCCS (prova questo controllando tutto su una macchina pulita e vedi se c'è qualcosa che manca)
  • assicurati che i numeri di versione siano aggiornati
  • aggiorna il tuo registro delle modifiche (il documento per il tuo cliente, non i commenti nel tuo SCCS)
  • aggiorna il tuo elenco di problemi aperti / elenco di requisiti per il prossimo rilascio / backlog / issue tracker (qualunque cosa tu usi per questo scopo)

E una cosa: IMHO alcune delle cose che hai citato dovrebbero essere sempre in ordine alla fine della giornata - aggiungere o correggere commenti solo prima di andare in produzione è troppo tardi. Fai in modo che i tuoi commenti corrispondano alla realtà immediatamente, ogni volta che cambi una funzione, in seguito ti dimenticheranno.

    
risposta data 23.08.2013 - 21:16
fonte
0

Dedica una buona quantità di tempo ai piani di backup per il rollback delle distribuzioni in caso di guasti o eventi non previsti.

Backup:

  • Prepara un elenco di controllo e aggiungi elementi a esso
  • Assicurati di avere piani di backup per il roll-back del database, script, ecc.
  • Rimuovi il codice di registrazione o controlla le impostazioni di produzione / test dell'app.
  • Simula lo scenario peggiore di implementazione
  • Verifica i punti di errore del sistema generale (connettività di rete, firewall, ecc.)
  • Prepara uno scenario di roll-back e simularlo
risposta data 23.08.2013 - 22:11
fonte
0

Non ho visto questo elencato in modo esplicito (anche se la risposta di Doc Brown è stata toccata, per quanto riguarda i numeri di versione) , ma IMHO la parte più importante per ottenere diritto in un processo di rilascio è la gestione della configurazione. Dovresti essere in grado di identificare esattamente quali artefatti sono stati distribuiti ed essere in grado di riprodurre questi artefatti su richiesta dalla fonte.

Se un cliente viene da te con un bug, vorrai davvero conoscere con precisione la fonte con cui è stato creato il bug.

    
risposta data 23.08.2013 - 23:59
fonte

Leggi altre domande sui tag