Quali sono alcuni aspetti da tenere presente quando ci si prepara a consegnare un progetto?

10

Sono attualmente l'unico sviluppatore / architetto di un'applicazione web abbastanza grande (stack MVC ASP.NET, circa 150K + linee di codice) e la fine dello sviluppo è all'orizzonte. Come tale, sto iniziando a pensare a cosa deve essere fatto per la consegna del progetto e voglio essere certo di fare la cosa giusta per chiunque debba mantenere il progetto in futuro.

Quali sono alcuni aspetti da tenere presente quando ci si prepara a consegnare un progetto a un altro sviluppatore o team di sviluppatori di manutenzione?

    
posta rjzii 09.11.2010 - 04:52
fonte

4 risposte

12

IMHO, se solo potessi fare una cosa prima di distribuire il tuo progetto (direttamente o indirettamente), ti consiglio di raddoppiare e triplicare per verificare che si compili così com'è dal controllo del codice sorgente.

Non ridere, ma non posso dirti quante volte ho ottenuto "l'ultima" da un controllo sorgente e non è riuscito a compilare, solo per scoprire più tardi che non ero "sulla vecchia scatola di Fred" perché apparentemente il il codice "compila solo sulla vecchia scatola di Fred". Ho persino avuto un ex datore di lavoro che rimuoveva prontamente il mio desktop dal mio cubo e lo sostituivo con "la vecchia scatola di Fred" in modo da poter lavorare sul progetto che dovevo.

Come un'estensione della raccomandazione di cui sopra, perché a volte ottenere l'ultima volta non è tutto ciò che è necessario per compilare un'applicazione, ti consiglio di creare un README.txt e metterlo nella directory root della tua applicazione e metterlo in controllo della fonte. Questo documento README dovrebbe contenere un elenco di dipendenze esterne che non possono essere verificate nel controllo del codice sorgente (se esiste), come configurare il database e qualsiasi altra stranezza sulla compilazione, sull'esecuzione o sui cicli di distribuzione dell'applicazione.

Qualunque cosa al di sopra e al di là dei due suggerimenti precedenti sarebbe solo un piacere, ma IMHO i due precedenti sono quasi obbligatori su qualsiasi progetto più grande di "Hello World".

Modifica

Sull'argomento della documentazione ...

Nel corso degli anni ho scritto e letto la mia buona parte della documentazione del software allo scopo di facilitare la transizione di uno sviluppatore. Direi che questi documenti raramente valgono la carta su cui sono stampati. Gli sviluppatori (me compreso) raramente pensano alle parti importanti dell'applicazione mentre scrivono tali documenti, tendiamo solo a pensare agli incendi più recenti che abbiamo combattuto. Al di là e al di là del fatto che questi documenti tendono a non coprire tutti gli aspetti importanti del software, anche questi diventano obsoleti MOLTO rapidamente. Una volta che il documento è scaduto, è probabile che un futuro sviluppatore lo trascuri completamente, invece di rimetterlo in funzione per corrispondere alla realtà (pensa ai requisiti in evoluzione).

Invece della documentazione di per sé, consiglio i test unitari. So che probabilmente suona vecchio a questo punto, ma lascia che il codice faccia la documentazione per te. I test di unità rotti sono difficili da ignorare (e più facili da individuare) rispetto a un documento di Word. Inoltre, la lingua inglese è orribilmente imprecisa per articolare i punti più importanti del design del software. Ci sono semplicemente troppi modi per interpretare il significato anche delle frasi più semplici in inglese, e questo porta solo a confusione e / o bug.

    
risposta data 09.11.2010 - 05:08
fonte
1

Questo è esattamente il motivo per cui i commenti non sono l'odore del codice. Questo è anche il motivo per cui dovremmo documentare il nostro codice.

Dovresti assicurarti di avere una solida documentazione. Esistono programmi che possono generare documentazione dai commenti a seconda del formato dei commenti e del linguaggio di programmazione.

Considerare quali informazioni si vorranno su una libreria o su una base di codice al momento del rilevamento. Chiedi a un amico programmatore di dare una rapida occhiata e vedere se individuano domande ovvie.

Buona fortuna!

    
risposta data 09.11.2010 - 05:35
fonte
1

Assicurati che il tuo codice sia compilato e amp; imballaggio nel modulo finale con un solo comando / clic.

Non posso revocare la risposta Quali sono alcuni aspetti da tenere a mente quando ci si prepara a consegnare un progetto? basta, quindi devo scrivere di nuovo questo.

Sono molto pignolo per questa compilation con un clic , perché ho già dedicato così tanto tempo a capire come compilare o pacchettizzare un progetto in modo che dovessi risolvere solo un piccolo bug . Ho iniziato a inserire piccoli script batch / bash nei miei progetti per creare pacchetti ZIP, JAR o EAR definitivi.

Oltre a questo I aggiungi un README.txt alla directory root che descrive il design generale , le parti complesse e l'ambiente del progetto (in termini di comunicazione con altri dipartimenti o persone).

Cerco di mantenere questo README.txt piccolo , perché nessuno legge più di 200 pagine di documenti di specifiche se tutto ciò che si vuole fare è correggere un bug, compilarlo e comprimerlo. I dettagli di implementazione sono documentati nei test unitari , quindi non è necessario scriverlo di nuovo in un libro ...

    
risposta data 05.05.2011 - 21:25
fonte
0

La mia lista di controllo predefinita per il handoff:

  1. Scopri la copia pulita da VCS
  2. Creazione di test, distribuzione di test
  3. Rinomina il repository delle risorse matematiche per repo-back-up
  4. Prova di nuovo la build
  5. Installa nuova copia del server delle app dallo zip
  6. Verifica le note di configurazione del server
  7. Test di nuovo implementazione
  8. Verifica che nessun test unitario sia disabilitato
  9. Esegui la scansione dei commenti per le parole di quattro lettere, eliminale

Se qualcosa è rotto, lo sistemo prima di consegnarlo. Niente può far partire qualcuno a un certo punto, quindi ottenere il check-out del progetto, costruito e funzionante il giorno in cui ottieni il progetto.

    
risposta data 09.11.2010 - 05:51
fonte

Leggi altre domande sui tag