|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#81 | |||||||||||
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Quote:
Un altra fra le migliori e piu' produttive aziende al mondo e' la ThoughtWorks (www.thoughtworks.com), nelle loro job description c'e' la richiesta esplicita di saper fare Refactoring, conoscere i Design Patter e saper scrivere Unit Testing; se non sai scrivere Unit Testing, non ti fanno neppure il colloquio Dici che buttano soldi? E come loro sempre piu' aziende, e' un trend. Se vorrai fare il programmatore finita l'universita', dovrai imparare a scrivere Unit Test, altrimenti al massimo potrai aspirare al lavoretto nella piccola software house italiana. Quote:
Ti ripeto che ho 15 anni di esperienza di cui 5 da professionista, le ho provate un po' tutte e non sono mai riuscito a scrivere codice senza errori perche' e' matematicamente impossibile. Lo sanno anche i sassi che il software esente da difetti non esiste. Quote:
Quote:
Scrivi un'applicazione che mi faccia il rendering di una scena importata da Maya, con un modello di illuminazione semplice di phong e supporti normal e specular map per ogni oggetto. Quanto ti serve, tre settimane? Ovviamente non deve avere nessun bug, perche' hai detto che tu sai scrivere software senza bug Basta scriverlo top-down Senza bug, ricorda, deve funzionare su ogni configurazione che trovo, in ogni condizione possibile e immaginabile, senza bug. Vediamo se ci riesci. Io ti dico che non ci riuscirei, ma forse perche' io pretendo di lavorare senza sapere quello che faccio Sai quanti bug l'EA prevede di trovare dalla fase di testing di BW2? 12.000. Te lo ripeto, 12.000. Piu' di 250 bug a testa. E' una previsione che fa in base a tutti gli altri progetti che l'EA ha sviluppato (sono centinaia). Second te all'EA nessuno sa programmare? Secondo te noi non sappiamo programmare senza scrivere bug? Perche' non vieni ad insegnarci a scrivere software senza bug Il punto e' che finche' la tua esperienza si limita al software antispam, posso capire questi ragionamenti, ma quando ti auguro lavorerai professionalmente su software complesso con altre decine di persone, ti accorgerai quanto ingenua sia l'affermazione: "Ma basta scrivere senza bug e conoscere sempre la soluzione". Si', basta, peccato che sia impossibile Quote:
E' indifferente che tu ci creda o no, questo incidera' solo sulla tua carriera in futuro. E' un fatto comprovato che scrivere test e' piu' produttivo, non lo discutero' oltre. Se non ne se convinto, te ne convincerai con l'esperienza, se non te ne convincerai, non farai mai il programmatore ad un certo livello. E' davvero cosi' semplice. Quote:
Quote:
Quote:
Quote:
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|||||||||||
|
|
|
|
|
#82 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
__________________
|
|
|
|
|
|
|
#83 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Che mi dicono che e' possibile imparando con l'esperienza scrivere codice senza bug e senza leak, basta solo ricordarsi di distruggere tutto. E io oggi devo passarmi la giornata al debugger alla ricerca di... memory leak in D3D causati da un team di programmatori 3d che ha 70 anni di esperienza totale. Mark lavorava su Syndicate e Dave su Populous, se qualcuno se li ricorda. Ma forse non abbiamo abbastanza esperienza per scrivere codice senza bug...
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#84 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
eh si ke me li ricordo
populous era il primo simulatore di divinità (l'antenato di B&W + o - cmq nn li ho mai avuti io, ci giocavo ogni tnt da dei miei amici ![]() x quanto riguarda l'esperienza x scrivere codice senza bug.... credo ke un paio di milioni di anni FORSE potrebbero bastare se l'uomo avesse una capacità di memoria illimitata
__________________
|
|
|
|
|
|
#85 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#86 |
|
Senior Member
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
|
fek mi meraviglio di te che non sai programmare evitando i bug.
e no e no |
|
|
|
|
|
#87 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#88 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#89 |
|
Senior Member
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
|
e già
cmq molto interessante la spece di tutorial che hai fatto, non ero proprio a conoscenza di una metodologia del genere. la teoria penso la farò ad ingegneria del software tra 2 anni (speriamo). p.s. volevo chiederti: ma hai fatto ing informatica??? |
|
|
|
|
|
#90 | ||
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
||
|
|
|
|
|
#91 | ||
|
Senior Member
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
|
Quote:
Quote:
|
||
|
|
|
|
|
#92 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
|
|
|
|
|
|
|
#93 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Spero di presentarli al GDC dell'anno prossimo. Pero' appena ho finito magari scrivo qualche guida per voi. Mi farebbe piacere. Ne parliamo.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#94 |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Fek, ti faccio una domanda provocatoria.
Alla fine della storia, avrai imparato anche "cosa vuol dire avere pazienza"? "Fermo! Non sappiamo nuotare!" "Sarai buono o cattivo? Una benedizione o una maledizione? Sarai quello che vorrai essere". Io forse sono uno dei pochi che ha giocato a Black & White due giorni di fila senza dormire e sono andato in ospedale perche' mi e' venuta una flebite ad un piede perche' stando seduto troppe ore ho avuto problemi di circolazione cardiaca. Alla fine non avevo capito che Dio ero, pero' quello mio se n'e' andato tutto |
|
|
|
|
|
#95 |
|
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
io non riesco a capire una cosa sola... se sto scrivendo software, nello specifico una determinata classe, scrivo i metodi che la compongono, però non mi limito a scrivere i soli metodi, ma scrivo anche la parte di codice che effettivamente li utilizza, scoprendo immediatamente se il progetto compila o meno.
Questo probabilmente accade perchè lavoro nella "piccola azienda italiana di software" e difficilmente si lavora in più di due persone sullo stesso progetto.. Comunque, queste unità di testing servono esclusivamente quando si sviluppa del codice altamente specializzato per un determinato compito e non si ha l'ambiente finale in cui verrà incluso, giusto? |
|
|
|
|
|
#96 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Servono quando c'è una specifica vera e propria per ogni modulo... Cioè quando ci si è seduti prima a tavolino e si sono definite le specifiche e le interfacce di ogni modulo... Altrimenti come fai a scrivere il programma di test ????
|
|
|
|
|
|
#97 |
|
Senior Member
Iscritto dal: Feb 2003
Città: fra casa e lavoro
Messaggi: 1061
|
ovvero serve in un mondo diverso dalla "piccola azienducola italiana di software", dove tutto cambia ogni 10 minuti
dovevo fare il falegname.. |
|
|
|
|
|
#98 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
Il cliente chiede: "Quando inserisco un nome dell'autore non corretto, l'articolo non va salvato, altrimenti viene salvato con la data di oggi". E "qualcuno" traduce questo requisito in un test non necessariamente nel linguaggio usato per implementare l'applicazione; di solito si usa un qualche linguaggio di scripting ad alto livello. A quel punto il programmatore riceve il customer test e inizia a implementare. Vediamo, dice che un articolo va salvato, quindi dovra' essere possibile salvare un articolo in un qualche database. Prima serve poter aprire un database. Ecco un test. Lo implemento. Poi serve salvare un articolo nel database. Ecco un altro test. Implemento anche questo. Poi serve salvarlo con la data odierna. Ecco un altro test e la sua implementazione. Adesso mi serve capire se un nome dell'autore e' valido o meno riguardo ad un qualche criterio, scrivo il test relativo. Ora mi serve non scrivere l'articolo se il nome e' scorretto. Test. Tutti i test passano? Si' Il customer test passa? Si'. Ho finito. E anche il cliente e' soddisfatto perche' vede passare il suo test e sa che io ho implementato il suo requisito. Se cambia il requisito, cambia il test e quando lo faccio passare di nuovo ho finito. Quando ricevo il customer test sono di fronte ad un problema con una soluzione potenzialmente sconosciuta e non posso sapere quali programmer test mi porteranno alla soluzione corretta, allora inizio a scrivere il piu' semplice che mi venga in mente e che getti luce sulla soluzione, che mi porti piu' vicino. Man mano che scrivo test me ne verranno in mente altri, perche' ho sempre piu' chiara la soluzione. Quando il customer test passa, ho finito, non un minuto prima non uno dopo.
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#99 | |
|
Senior Member
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
|
Quote:
__________________
"We in the game industry are lucky enough to be able to create our visions" @ NVIDIA |
|
|
|
|
|
|
#100 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Non parlo di sedersi al tavolino con il cliente, ma con il gruppo di programmatori... In pratica quando si ha davanti il progetto dell'applicazione...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:20.




















