Vediamo i loro argomenti:
- Sono lo sviluppatore solista di questo progetto.
- È solo un prototipo, forse dovrò riscrivere da capo.
- Non voglio inquinare il controllo del codice sorgente con versioni incomplete.
Primo, il terzo.Riesco a vedere il ragionamento, ma si basa su una cattiva ipotesi.
Al lavoro, utilizziamo Perforce, un VCS centralizzato, e in effetti controlliamo solo la fonte che viene compilata correttamente e non rompere nulla (in teoria, ovviamente!), Dopo la revisione tra pari.
Così quando inizio un cambiamento non banale, sento il bisogno di commit intermedi. Ad esempio, recentemente ho iniziato a fare alcune modifiche (in qualche modo, in solo per questa particolare attività, quindi mi rivolgo al punto 1) su un codice Java usando JDom (analisi XML). Quindi sono rimasto bloccato e volevo utilizzare l'analisi XML integrata in Java 1.6. Era ovviamente il momento di tenere traccia del lavoro corrente, nel caso in cui il mio tentativo fosse fallito e volessi tornare indietro. Nota questo caso in qualche modo indirizza il punto 2.
La soluzione che ho scelto è semplice: io uso un SCM alternativo! Sebbene alcuni VCS centralizzati come SVN siano utilizzabili in locale (sul computer dello sviluppatore), sono stato sedotto dal VCS distribuito e dopo aver testato brevemente Mercurial (che è buono), ho trovato Bazaar più adatto alle mie esigenze e ai miei gusti.
DVCS sono adatti per questa attività perché sono leggeri, flessibili, consentono rami alternativi, non "inquinano" la directory di origine (tutti i dati si trovano in una directory nella radice del progetto), ecc.
Effettuando una gestione parallela delle fonti, non inquini la fonte di altri sviluppatori, pur mantenendo la possibilità di tornare indietro o provare rapidamente soluzioni alternative.
Alla fine, confermando la versione finale a SCM ufficiale, il risultato è lo stesso, ma con maggiore sicurezza a livello dello sviluppatore.
C'è un terzo gruppo, forse non ben rappresentato nella propria organizzazione: quelli che eseguono il lavoro incrementale quando passano tutti i test. –
E un quarto. Mi registro ogni volta che posso perché potrei aver bisogno di tornare indietro e chiunque abbia il proprio codice rotto deve scendere dalla mia filiale :-) –
@Neil forse GIT potrebbe risolvere il tuo problema –