Quali sono alcuni aspetti da tenere presenti quando ti prepari a consegnare un progetto?


10

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

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

Risposte:


12

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

Non ridere, ma non posso dirvi quante volte sono stato "aggiornato" da un controllo del codice sorgente e non è riuscito a compilare, solo per scoprire in seguito che non ero "nella vecchia scatola di Fred" perché apparentemente il codice "solo compila sulla vecchia scatola di Fred ". Ho anche avuto un ex datore di lavoro che rimuoveva prontamente il mio desktop dal mio cubo e lo sostituiva con "la vecchia scatola di Fred" in modo da poter lavorare sul progetto che dovevo supporre.

Come estensione della raccomandazione di cui sopra, poiché a volte non è necessario ottenere le ultime novità per compilare un'applicazione, ti consiglio di creare un file README.txt e inserirlo nella directory principale dell'applicazione e metterlo nel controllo del codice sorgente. Questo documento README dovrebbe contenere un elenco di dipendenze esterne che non è stato possibile controllare nel controllo del codice sorgente (se presente), come impostare il database e qualsiasi altra stranezza relativa ai cicli di compilazione, esecuzione o distribuzione dell'applicazione.

Qualunque cosa sopra e oltre i due suggerimenti precedenti sarebbe solo una salsa, ma IMHO i due precedenti sono quasi richiesti su qualsiasi progetto più grande di "Hello World".

MODIFICARE:

Sul tema della documentazione ...

Nel corso degli anni ho sia scritto che letto la mia giusta dose di documentazione software allo scopo di facilitare la transizione di uno sviluppatore. Direi che tali 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à del fatto che questi documenti tendono a non coprire tutti gli aspetti importanti del software, diventano obsoleti MOLTO rapidamente. Una volta che il documento non è aggiornato, è probabile che un futuro sviluppatore lo ignori completamente invece di ripristinarlo per adattarlo alla realtà (pensa a cambiare i requisiti).

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


1
+1 per il file Leggimi. Ne ho effettivamente due nel progetto a questo punto, uno in generale "questo è quello che stavo pensando quando ho scritto questo concetto" e un altro che elenca solo tutte le dipendenze esterne e i plug-in jQuery che sono in atto insieme alle linee da dove li ho presi. La compilazione è sicuramente qualcosa che dovrò ricontrollare di nuovo però.
rjzii,

@Rob, una VM è spesso una buona idea quando si tenta di determinare se il codice può essere compilato in un ambiente pulito. Un'installazione pulita di Windows e Visual Studio, quindi esegui l'installazione solo degli elementi menzionati nel tuo readmefile. Se il codice viene compilato ed eseguito, sei pronto.
Jason Whitehorn,

Non dimenticare la documentazione!
Moshe,

@Jason - Sono stato in grado di farlo un po 'più o meno nelle stesse circostanze (due macchine di sviluppo, una con Parallels Desktop) ma da allora alcune nuove librerie sono state inserite nel progetto.
rjzii,

1
@Moshe - La documentazione è la parte di cui in realtà sono più preoccupato. Ho scritto il codice nel modo in cui vorrei trovarlo, ma non sono sicuro di quali documenti aggiuntivi dovrei scrivere per integrare il codice e i documenti readme di base.
rjzii,

1

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

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

Considera quali informazioni vorresti su una libreria o base di codice quando la prendi in consegna. Chiedi a un amico programmatore di dare una rapida occhiata e vedere se individuano domande ovvie.

In bocca al lupo!


1

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

Non posso votare la risposta Quali sono alcuni aspetti da tenere presenti quando ci si prepara a consegnare un progetto? abbastanza, quindi devo scriverlo di nuovo.

Sono molto schizzinoso riguardo a questa compilation con un clic , perché ho già dedicato così tanto tempo a capire come compilare o impacchettare effettivamente un progetto che dovevo solo correggere un piccolo bug. Ho iniziato a inserire piccoli script batch / bash nei miei progetti per creare il pacchetto ZIP, JAR o EAR finale.

Inoltre, aggiungo un file README.txt alla directory principale che descrive il design generale , le parti complesse e l'ambiente di progetto (in termini di comunicazione con altri dipartimenti o persone).

Cerco di mantenere piccolo questo file README.txt , perché nessuno legge oltre 200 pagine di documenti di specifica se tutto ciò che vuoi fare è correggere un bug, compilarlo e comprimerlo. I dettagli di implementazione sono documentati nei test unitari , quindi non è necessario annotare di nuovo tutto in un libro ...


0

La mia lista di controllo predefinita:

  1. Guarda copia pulita da VCS
  2. Test build, test deploy
  3. Rinominare il repo di Maven in back-back-up
  4. Prova di nuovo a compilare
  5. Installa una nuova copia del server app da zip
  6. Verificare le note di configurazione del server
  7. Test di nuovo distribuzione
  8. Verificare che nessun test unitario sia disabilitato
  9. Scansiona i commenti per parole di quattro lettere, eliminali

Se qualcosa è rotto, lo riparerei prima di consegnarlo. Nulla mette in difficoltà qualcuno, quindi ottiene il progetto estratto, costruito e funzionante il giorno in cui lo ottieni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.