|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#41 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
|
#42 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#43 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Se a progetto finito il committente ti chiede di cambiare l'unita di misura in tutto il progetto, oltre a lanciare qualche madonna e a pensare a quanti euro in piu chiedere, come reagisci? Con i test puoi fare le tue modifiche e lanciarli per vedere tutte le aree che sono affette. Senza non ti resta che accendere un cero al santo patrono dei debugger e sperare che non ci siano strani side-effects. ciao |
|
|
|
|
|
|
#44 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
ciao |
|
|
|
|
|
|
#45 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Quote:
In medio stat Vicius.
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
|
#46 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Angus: quel "tanto da discutere" lo possiamo anche fare qui... E' stato aperto appositamente questo thread
|
|
|
|
|
|
#47 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Come accennavi qualche post fa, i test vanno innanzitutto scritti *bene*.
Invito chi fosse interessato a leggere CCA, che descrive le problematiche che riguardano la misura della qualità dei test e se gli stessi sono sufficienti a garantire un basso richio di bug. Per esempio esistono tool che cercano di scovare le parti di codice non coperte da test. Il TDD secondo me è molto utile dal punto di vista funzionale, mentre un buon linguaggio e un buon compilatore possono ovviare a tanti strafalcioni di programmazione. Un esempio della discussione infinita si trova qui. Imho una strategia vincente in assoluto non c'è, ma va scelta quella giusta caso per caso, o meglio ancora vanno utilizzate tutte in modiche quantità ;-) ps: pensavo che il thread riguardasse principalmente l'organizzazione di un gruppo di lavoro, mea culpa.
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
#48 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Riguardo ai tool per scoprire il codice non coperto da test... Se non sbaglio VICIUS sta usando un software di questo tipo... |
|
|
|
|
|
|
#49 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
senza i test le due maree di codice da modificare diventano una marea sola. imho. |
|
|
|
|
|
|
#50 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
|
|
|
|
|
|
|
#51 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#52 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Codice:
public void testFibonacciDiZero()
{
assertEquals(0, fibonacci(0));
}
ciao |
|
|
|
|
|
|
#53 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Suponi ora che le linee di codice usate dai test siano circa il 50%. Le linee di codice utili per il progetto sono quindi la meta. Procedendo senza scrivere i test sarebbero, invece, mille linee utili. 100%. Quindi il doppio. ciao |
|
|
|
|
|
|
#54 |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Verba volant...
Vorrei sperare che il thread non si riduca ad uno sterile 'io ce l'ho più grosso del tuo'. In cosa una metodologia è migliore di un'altra? A parità di software prodotto direi che è il tempo impiegato. Ma come si misura il tempo impiegato? In giorni/uomo? Non credo che sia una misura affidabile. Più i progetti sono grandi più le metodologie di sviluppo si inseriscono in un contesto di gestione delle risorse molto più ampio. Come scala il TDD (per esempio) all'aumentare delle persone e al diminuire del tempo (quello vero) a disposizione? I discorsi fatti negli ultimi post sembrano invece affrontare il problema dal punto di vista probabilistico o statistico: C'è una fazione che afferma che il codice totale scritto mediante TDD è sì più lungo (ma di quanto?) del codice scritto senza TDD, ma contiene statisticamente meno errori perchè 'autoreferenziato' e quindi (?) di migliore qualità. L'altra fazione afferma che invece probabilisticamente il doppio del codice contiene semplicemente il doppio degli errori o anche più. Non mi sembra un approccio corretto. Bisogna dare atto al TDD che porta dei vantaggi in fase di refactoring per controllare che quello che funzionava prima delle modifiche continui a funzionare. Per funzionare intendo proprio l'aspetto funzionale del codice, non la sua correttezza sintattica/semantica che può essere controllata da un buon compilatore o strumento analogo. Non lo vedo invece come alternativa alle fasi di progettazione, che anche se solo su carta rimane indispensabili in progetti di medie/grandi dimensioni e aiuterebbe la stesura di test mirati ed efficienti, che non richiedano a loro volta continui refactoring. Credo che finora il TDD abbia faticato ad emergere semplicemente perchè i framework attuali non sono stati accompagnati da tool all'altezza. Col tempo mi aspetto che il TDD diventi una cosa talmente naturale e automatizzata da fare che non ci renderemo neanche più conto di usarlo. Ora sto decisamente vaneggiando, mi fermo qui.
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } Ultima modifica di Angus : 18-10-2005 alle 17:10. |
|
|
|
|
|
#55 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Angus: le tue considerazioni sono tutte giuste...senza ombra di dubbio... Sulla questione "misure", per ora mi sto basando su quello che vedo con Diamonds, e di conseguenza non ho ancora studiato niente su TDD e XP, quindi per ora ho le conoscenze di un corso base di ingegneria del software (in cui non si facevano TDD e XP)...
|
|
|
|
|
|
#56 | |
|
Senior Member
Iscritto dal: Dec 2001
Città: Milano
Messaggi: 545
|
Quote:
Ma dove li mettiamo i Design Patterns? Voi diamanti ne fate uso? E chi è il vostro pusher?
__________________
Angus the Hunter @ Realm of magic | Angus Young @ Batracer °SetiEmperor°| Ninja Technologies { qualunque cosa sia, è veloce e fa male (cit.) } |
|
|
|
|
|
|
#57 | |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
![]() ciao |
|
|
|
|
|
|
#58 | |||
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Quote:
Quote:
Quote:
ciao |
|||
|
|
|
|
|
#59 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#60 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
io su questo posso solo portare la mia personale esperienza.... durante la storia precedente (quella andata a buon fine N.d.A.) ho fatto un paio di task... il codice ovviamente l'avevo già visto prima, ma quando sono andato a riprenderlo era completamente cambiato dall'ultima volta.... praticamente rimanevano invariati solo i nomi di "alcune" classi e il funzionamento generale del software... ebbene.. mi è venuto molto semplice andare a studiare quel codice e vedere dove andava fatto il mio intervento per sviluppare i task... inoltre, grazie all'uso dei test, mi sono subito accorto ke era stata fatta una confusione sulle coordinate utilizzate.... infatti credo ke la maggior parte di noi siano abituati a pensare con l'origine posta in alto a sinistra... in Open GL invece l'origine è posta in basso a sinistra... dopo aver modificato il software per aggiungere il mio task ho subito visto che il test che falliva era quello opposto (falliva lo spostamento verso il basso anzikè quello verso l'alto). In questo modo sono riuscito a tracciare abbastanza in fretta il bug e a porvi soluzione... non oso immaginare se fossimo stati senza test quanto tempo sarebbe occorso prima di tracciare TUTTE le occorrenze del bug e porvi rimedio...... Morale della favola... almeno per quanto ho visto io il codice ottenuto è facilmente leggibile anche da ki non ha mai messo mani al codice e soprattutto la fase di debug è codiuvata dai test, aiuto ke spesso può risultare provvidenziale (e lo so bene dato ke al lavoro stiamo procedendo senza test... my two centu liri! dimenticavo... se alla toughtworks spingono molto su questa metodologia di sviluppo credo ke sia una delle migliori ad oggi esistente (se non la migliore
__________________
Ultima modifica di ^TiGeRShArK^ : 18-10-2005 alle 20:47. |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:08.




















