PDA

View Full Version : Come si chiamano quei software...


MEMon
24-08-2009, 09:37
Non ho mai lavorato in un gruppo, e ho qualche curiosità, quindi vi pongo alcune domandine:

Se il Revision Control(RC) è di tipo distribuito, quindi tutti i programmatori hanno la loro copia del progetto sul pc, che senso ha lavorare ad una porzione del programma se poi magari quella porzione sta venendo modificata da un altro programmatore?
Come funziona la gestione della sincronizzazzione fra i vari programmatori se l'RC è di tipo centralizzato e quindi i file si trovano su un server centrale?
Cioè è possibile davvero lavorare in due sullo stesso file o gruppi di file?
Wikipedia dice di si ma mi pare edavvero poco ingegnoso...
Immagino che quando si lavora in gruppo ci si divide i compiti, ovvero uno lavora ad una parte del software, uno ad un altra ecc ecc...
Ma come si fa a sapere se io che sto lavorando alla parte A sto utilizzando l'ultima versione della parte B con la quale mi devo "interfacciare"?


Per ora queste poi magari ne metto altre...

shinya
24-08-2009, 10:23
http://en.wikipedia.org/wiki/Revision_control

MEMon
24-08-2009, 10:58
http://en.wikipedia.org/wiki/Revision_control

Grazie mille proprio quello che cercavo, ho modificato il primo post con qualche domandina.

tomminno
24-08-2009, 12:23
Non ho mai lavorato in un gruppo, e ho qualche curiosità, quindi vi pongo alcune domandine:

Se il Revision Control(RC) è di tipo distribuito, quindi tutti i programmatori hanno la loro copia del progetto sul pc, che senso ha lavorare ad una porzione del programma se poi magari quella porzione sta venendo modificata da un altro programmatore?


Si che ha senso, dovrai poi continuamente integrare all'interno della tua versione le eventuali modifiche apportate da altri.
Ci sono software che ti segnalano che qualcuno ha modificato il progetto su cui stai lavorando, non è necessariamente una operazione totalmente manuale.


Come funziona la gestione della sincronizzazzione fra i vari programmatori se l'RC è di tipo centralizzato e quindi i file si trovano su un server centrale?
Cioè è possibile davvero lavorare in due sullo stesso file o gruppi di file?
Wikipedia dice di si ma mi pare edavvero poco ingegnoso...


Generalmente si lavora su copie locali dei file, poi ad un certo punto si esegue l'operazione di commit che comporta il salvataggio delle modifiche apportate sulla copia locale nella versione centralizzata. Può accadere che se più persone stanno modificando lo stesso file che la tua copia locale non sia più allineata all'ultima disponibile sul server (ad esempio qualcuno ha effettuato un commit dopo la tua operazione di update) quindi dovrai prima allinearti eseguendo un update che ti segnalerà o un merge del tuo file con quello centrale oppure dei conflitti nelle modifiche da risolvere manualmente.


Immagino che quando si lavora in gruppo ci si divide i compiti, ovvero uno lavora ad una parte del software, uno ad un altra ecc ecc...


Beh non puoi sapere se devi poi andare a modificare parti di codice a comune con altri, a meno che non hai un'analisi dettagliata del lavoro da fare, altrimenti se come specifica hai: "Modificare il programma X affinchè implementi la funzionalità Y", non sai dove andrai a parare fino a che non ti ci metti.


Ma come si fa a sapere se io che sto lavorando alla parte A sto utilizzando l'ultima versione della parte B con la quale mi devo "interfacciare"?
[/LIST]

Per ora queste poi magari ne metto altre...

Hai principalmente 2 metodi:
1)Controllare manualmente se qualcuno ha apportato modifiche
2)Usare un software che automaticamente monitora il server centrale e ti avvisa qualora la tua versione non sia più in linea con quella del server.


Diciamo che il software che va per la maggiore al momento è SVN.

MEMon
24-08-2009, 14:38
Si che ha senso, dovrai poi continuamente integrare all'interno della tua versione le eventuali modifiche apportate da altri.
Ci sono software che ti segnalano che qualcuno ha modificato il progetto su cui stai lavorando, non è necessariamente una operazione totalmente manuale.



Generalmente si lavora su copie locali dei file, poi ad un certo punto si esegue l'operazione di commit che comporta il salvataggio delle modifiche apportate sulla copia locale nella versione centralizzata. Può accadere che se più persone stanno modificando lo stesso file che la tua copia locale non sia più allineata all'ultima disponibile sul server (ad esempio qualcuno ha effettuato un commit dopo la tua operazione di update) quindi dovrai prima allinearti eseguendo un update che ti segnalerà o un merge del tuo file con quello centrale oppure dei conflitti nelle modifiche da risolvere manualmente.



Beh non puoi sapere se devi poi andare a modificare parti di codice a comune con altri, a meno che non hai un'analisi dettagliata del lavoro da fare, altrimenti se come specifica hai: "Modificare il programma X affinchè implementi la funzionalità Y", non sai dove andrai a parare fino a che non ti ci metti.



Hai principalmente 2 metodi:
1)Controllare manualmente se qualcuno ha apportato modifiche
2)Usare un software che automaticamente monitora il server centrale e ti avvisa qualora la tua versione non sia più in linea con quella del server.


Diciamo che il software che va per la maggiore al momento è SVN.
Grazie mille molto chiaro.