Proseguo (in un certo senso) la discussione su TeamWorks che era stata iniziata qui (viewtopic.php?f=5&t=70768)
Abbiamo dei grossi problemi con i lock. Siamo 4 programmatori che lavorano sullo stesso progetto.
Capita (minimo una volta al giorno) di doversi bloccare nel lavoro a causa di un operazione non effettuabile perché un collega ha già un lock su qualcosa molto spesso neanche collegata.
Faccio un esempio così si capisce meglio.
Ho una vista che si chiama ArticoliView, che raccoglie tutte le informazioni degli articoli e delle tabelle collegate che possono tornare utili in una vista (decodifiche di categorie, ecc...).
Ho creato una classe DO basata su questa vista (perchè mi serve usare la DO per n motivi), e uso questa classe nelle lookup e in varie procedure delle varie videate.
Se ho necessità di aggiungere un nuovo campo alla vista, vengono presi i lock su tutte procedure dove è usata la classe. Quindi, se un mio collega ha preso un lock su uno di questi oggetti, io mi posso attaccare al tram.
Mi hanno spiegato il motivo di questo comportamento: aggiungendo una proprietà alla classe, si modifica la sua interfaccia, e quindi anche ogni punto in cui è potenzialmente usata. Concettualmente lo posso capire, ma nella pratica non sta in piedi. Se aggiungo una proprietà ad una classe DO, quale danno potrei fare in qualsiasi punto è usata? Potrei capire la cancellazione, ma l'inserimento??
Questo è solo un caso di esempio. Ci sono mille altre situazioni che capitano tutti i giorni che costringono nel migliore dei casi a fermarsi e fare qualcos'altro nell'attesa che il collega faccia il check-in (spesso di cose sviluppate a metà) per sbloccare il lavoro.
La mia domanda è: siamo i soli ad avere questi problemi?
E come si pone ProGamma di fronte a questa situazione?
Io sono disposto anche a spendere del tempo per segnalare le situazioni secondo me migliorabili, ma solo se effettivamente poi viene fatto qualcosa.
Attualmente, per noi, lavorare con TeamWorks, significa fare almeno un Check-In/GetLatest al giorno. Solo per poter lavorare. Non è comodo. E anche dispendioso in termini ti tempo (tempo = $).