15

Quali strumenti o approcci consiglieresti a un "team individuale" per organizzarsi?Come posso organizzare tutto il mio codice, dati, script, attività, ecc?

Sto facendo una ricerca che implica molto codice, scrivendo centinaia di script perl di estrazione, binari C++ che vengono utilizzati fino a quando non trovo un approccio migliore, grandi quantità di dati che vengono elaborati in modi diversi, dove alcuni la nuova preelaborazione rende obsoleta la vecchia strada - finché non scopro che la vecchia via era effettivamente migliore, e così via. Il mio lavoro è intrinsecamente un obiettivo in movimento, poiché devo provare molte cose, e spesso nessuna di esse è perfetta.

Non è una situazione completamente caotica, ma è anche lontana dall'essere perfetta. Esistono approcci generali che consiglieresti in una situazione del genere? Io uso SVN per il mio codice, anche se non per le diverse versioni dei dati perché diventa troppo grande. È difficile tenere traccia di tutti gli script e i binari, quindi li commento sempre, scrivo come li ho eseguiti ecc. Ma sono curioso di sapere se hai qualche idea in più.

(io lavoro su un sistema Linux.)

risposta

2

Tenere tutto il tuo codice nel tuo Version Control System, e creare build/eseguire script per ciascuno. I tuoi dati che dovrai archiviare attentamente (poiché non vuoi metterli in SVN).

L'altra cosa che vorrei aggiungere sarebbe una wiki in modo da poter prendere appunti velocemente su ogni test/script/applicazione.

1

perché non eseguire il checkout di alcuni progetti opensource per vedere come organizzano le proprie basi di codice?

anche se sei una squadra individuale. sarebbe intelligente organizzare il tuo progetto in modo che sarebbe facile aggiungere più programmatori.

anche se siete preoccupati di file per i file di dati, si potrebbe voler controllare git. la dimensione dell'indice è solitamente molto più piccola di quella di svn.

3

Sto usando una wiki (TiddlyWiki nel mio caso, dato che funziona assolutamente ovunque - tutto ciò di cui ha bisogno è un browser con JavaScript) come il mio "taccuino di ingegneri". Quasi tutto va dentro - elenchi di domande (e più tardi le loro risposte), procedure (istruzioni passo per passo), note di ciò che metto dove (potrebbe funzionare per i tuoi "dati"), numeri di telefono (facile da trovare con un pieno ricerca di testo), tutto va bene.

Dato che i miei compiti non sono così pesanti da codice, lo sto persino usando per memorizzare frammenti di codice (per lo più istruzioni SQL per me). Utilizzare un sistema di versioning "reale" è meglio se si desidera tenere traccia delle diverse versioni. Oltre a "usarlo" non posso offrire consigli specifici per quest'area.

Tuttavia, ciò che è stato importante per me nella moda GTD: utilizzare un sistema semplice per quasi tutto. In questo modo, il tempo di cercare qualcosa e decidere cosa mettere dove viene abbattuto.

+0

Sì e se si utilizza Trac wiki, è possibile collegare facilmente le pagine al codice in sovversione – soemirno

1

Version Control è un must, come altri hanno detto. Penso che mantenere etichette descrittive delle pietre miliari sul controllo delle versioni sia molto utile.

anche come detto IronGoofy, tengo i miei frammenti nel mio Personal WikiTiddlyWiki, ho caricato al mio sito web, in modo da poter accedere ovunque e in qualsiasi momento.

Come opzione aggiuntiva si può pensare a un'applicazione Time Tracker. Ci sono molti Time Tracker gratuiti.Io uso ASP.NET's Time Tracker Starter Kit. Puoi mantenere l'evoluzione del tuo software, correzioni di errori, punti cardine.