Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Mentre Ubisoft vorrebbe chiedere agli utenti, all'occorrenza, di distruggere perfino le copie fisiche dei propri giochi, il movimento Stop Killing Games si sta battendo per preservare quella che l'Unione Europea ha già riconosciuto come una forma d'arte. Abbiamo avuto modo di parlare con Daniel Ondruska, portavoce dell'Iniziativa Europa volta a preservare la conservazione dei videogiochi
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto
Pensato per il professionista sempre in movimento, HP Elitebook Ultra G1i 14 abbina una piattaforma Intel Core Ultra 7 ad una costruzione robusta, riuscendo a mantenere un peso contenuto e una facile trasportabilità. Ottime prestazioni per gli ambiti di produttività personale con un'autonomia lontano dalla presa di corrente che permette di lavorare per tutta la giornata
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-04-2010, 23:19   #1
javaboy
Registered User
 
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
[vari]Reinventare la ruota

Prendo spunto dalla frase che ho nella mia firma:

If you have a new fundamental assumption, throw away your old code and rewrite it from scratch. Incremental patching and modifying seems easier at first, and is the normal course of things in software development, but ends up being much harder and producing bulkier, markedly inferior code in the long run.


La frase è di Michael Abrash (guru dell'assembly x86, è ideatore dell'architettura del processore intel larrabee, ha lavorato sul kernel di windows e sull'engine di quake) ed è conosciuta come carmack's law.


Nella mia esperienza lavorativa (principalmente grossi progetti real time in c++) questa "legge" non l'ho mai vista mettere in pratica. Bisogna trascinarsi dietro codice vecchio di 20 anni, mal progettato, mal scritto e mal documentato perchè va bene perdere 2 anni a mettere le pezze ad una vecchia carcassa ma non va bene riscrivere il software da zero in un anno perchè si "reinventa la ruota".
Allo stesso modo certe volte si tende ad esagerare con l'utilizzo dei framework. Se è necessario implementare una particolare funzionalità e questa viene offerta da un framework LO SI DEVE USARE PER FORZA anche se magari l'utilizzo del framework ti porta a snaturare completamente l'architettura dell'applicazione e a buttar giù tutti i santi dal calendario ogni volta che vuoi distaccarti dal comportamento previsto.

Che ne pensate?

Ultima modifica di javaboy : 02-04-2010 alle 23:28.
javaboy è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2010, 23:34   #2
javaboy
Registered User
 
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
Nella maggior parte dei progetti sui quali ho lavorato ho visto questo genere di cose:

1)Codice assolutamente inutile, morto e abbandonato ma mai cancellato per chissà quale ragione.

2)Interi moduli che facevano la stessa cosa di altri moduli.

3)Classi con oltre 10.000 righe di codice e dalle funzionalità completamente eterogenee

4)Classi diverse create col cut-paste col 99% del codice in comune

5)Varie versioni fun1, fun2, fun3 della stessa funzione modificate a casaccio e mantenute nel caso ci si accorga che forse era meglio quella vecchia...
javaboy è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2010, 23:45   #3
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
In ambito lavorativo penso che la questione che vale per ogni professione valga anche per l'informatica. E' quella del maximus paraculus: se usi gli strumenti più diffusi nell'ambito in cui lavori quando le cose vanno a schifìo dirai che hai fatto ciò che la migliore esperienza del momento storico suggeriva fosse giusto.

E' uno dei cardini dell'irresponsabilità professionale.

Poniamo che io e te scriviamo un programma "enterprise" (significa bubbole ma va bene lo stesso).

Io uso il J2EE, con un database oracle, su un server IBM.
Tu usi un framework che ti inventi tu, con un sistema di immagazzinamento dati che ti inventi tu, il tutto che funziona su un cluster di portatili 386.

Una volta venduti al cliente, entrambi i nostri programmi vanno a puttane e il cliente si becca 25 milioni di euro di danni per downtime.

Di fronte al randello chiodato io posso applicare il maximus paraculus: sono professionista, ho usato le tecnologie profescional che chiunque avrebbe usato, ho usato i pattern, ho usato tutto quello che di stantìio c'è in giro, con un po' di culo risulta che il danno derivi dall'inevitabile fallacia della tecnologia.

Ma tu... oh oh oh, tu sei nella cacca fino al collo! A parità di disastro, infatti, la puttanata profescional è quasi vergine rispetto a quella che non è trita e ritrita.

E' la famosa attività "di concetto": non è importante se il risultato sia l'apocalisse a meno che non sia il frutto di uno scostamento irragionevole dai binari del così fan tutti.

Non è un caso che siano le start-up quelle che apportano le maggiori innovazioni: non hanno clienti che li possano perseguire fino alla morte, sono libere di osare strade diverse.

Nell'ambito non lavorativo, la reinvenzione della ruota è un obbligo morale!
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
Old 02-04-2010, 23:45   #4
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
@javaboy: il museo degli orrori insomma.

Quando posso riscrivo e/o rifattorizzo il mio codice. Infatti quasi tutto ciò che ho realizzato nei 6 anni che lavoro nella mia azienda, l'ho praticamente riscritto quando ho dovuto rimetterci mano per qualche motivo.

Questo perché col tempo mi vengono in mente nuove soluzioni, o forse più eleganti e/o efficienti per realizzare la stessa cosa. E poi, almeno per me, il codice dev'essere "bello" anche da leggere.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 01:34   #5
lupoxxx87
Senior Member
 
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
scrivere codice dev'essere arte ragazzi !

dev'essere semplice da leggere per noi una volta che dobbiamo andare a riguardarlo, ma allo stesso tempo trovare spunti che ci facciano dire "cacchio questo si che è geniale"

se poi vogliamo incasinarlo per obbligare il cliente a tornare da noi...chi più ne ha più ne metta xD
lupoxxx87 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 10:54   #6
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Quote:
Originariamente inviato da javaboy Guarda i messaggi
Prendo spunto dalla frase che ho nella mia firma:
[i]
Nella mia esperienza lavorativa (principalmente grossi progetti real time in c++) questa "legge" non l'ho mai vista mettere in pratica. Bisogna trascinarsi dietro codice vecchio di 20 anni, mal progettato, mal scritto e mal documentato perchè va bene perdere 2 anni a mettere le pezze ad una vecchia carcassa ma non va bene riscrivere il software da zero in un anno perchè si "reinventa la ruota".
Allo stesso modo certe volte si tende ad esagerare con l'utilizzo dei framework. Se è necessario implementare una particolare funzionalità e questa viene offerta da un framework LO SI DEVE USARE PER FORZA anche se magari l'utilizzo del framework ti porta a snaturare completamente l'architettura dell'applicazione e a buttar giù tutti i santi dal calendario ogni volta che vuoi distaccarti dal comportamento previsto.

Che ne pensate?
Che in parte e' vero, tranne per la parte
...ma non va bene riscrivere il software da zero in un anno perchè si "reinventa la ruota".

Ci sono metodologie di progettazione software che permettono di avere un risultato in 1 mese circa, con qualcosa da fare vedere gia' dopo le prime 2 settimane, che possono essere applicate anche alla sostituzione di software vecchi.

E Quoto CDiMauro. La rifattorizzazione e' un punto cardine di queste metodologie. Si procede alla sostituzione parziale di un pezzo alla volta, fino a che si riesce a generalizzare comportamenti, riuscendo quindi a tagliare via intere branche di codice divenuto duplicato.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 11:53   #7
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Riscrivere da capo tutto, personalmente, è sempre la cosa più irresistibile

Per me è un vero gusto iniziare da 0, mettere giù i mattoni fondamentali, eccetera...
nell'ordine, ho iniziato una decina di giochi, un rasterizzatore software, un traduttore da assembly Z80 a x86, un compressore di files, una rete neurale, un paio di motori grafici e un'AI.
Chiaramente non ho mai finito nulla

Per quanto mi riguarda a questo punto la tentazione di reinventare la ruota (insieme a quella di scrivere sempre codice generico e riusabile (che non è sempre un bene anzi)) è IL MALE, e tento sempre di forzarmi a riciclare altro codice.
Chissà che almeno un gioco non riesca a finirlo

Riassumendo: se si dovesse seguire solo la logica del realizzare programmi eccellenti, si finirebbe continuamente in un ciclo di riscritture, dato che un programma finito è per definizione più brutto di come lo si immaginava.
L'unico modo per realizzare davvero qualcosa è tentare di tenere insieme la baracca anche se è brutta, possibilmente usando tecniche come quelle descritte da cdimauro...
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 12:27   #8
CwNd
Senior Member
 
L'Avatar di CwNd
 
Iscritto dal: Jun 2007
Città: Milano
Messaggi: 413
Quote:
Originariamente inviato da javaboy Guarda i messaggi
1)Codice assolutamente inutile, morto e abbandonato ma mai cancellato per chissà quale ragione.
La ragione è semplice. Se il codice non lo cancella chi l'ha scritto non lo cancellerà mai nessuno perchè la domanda più naturale che ci si pone in questo caso è "si sputtanerà tutto se cancello questo codice?" e per non avere problemi lo lasci li e fai finta di niente. Un po' come quando trovi il codice commentato e ti chiedi, "perchè è qui? servirà a qualcosa?". Io lo cancello sempre, al massimo tramite svn si riesce a recuperarlo.

Ti consiglio di regalare ai tuoi colleghi questo libro: http://tinyurl.com/ygv6wrm, è un must
CwNd è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 15:07   #9
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
@javaboy: il museo degli orrori insomma.
Normale amministrazione per lo meno anche per la mia esperienza.

Quote:
Quando posso riscrivo e/o rifattorizzo il mio codice.
Ok per il tuo ma per quello scritto da altri?
Puoi permetterti di rischiare di perderti nei meandri di un programma che magari funziona da anni? Sicuramente non documentato e di cui rischi di perderti qualche "nuanche" nascosta nelle decine di if annidati?
Doppotutto la scadenza è fissa (ed è sempre troppo a ridosso).

Quote:
Infatti quasi tutto ciò che ho realizzato nei 6 anni che lavoro nella mia azienda, l'ho praticamente riscritto quando ho dovuto rimetterci mano per qualche motivo.
Se la scadenza te lo consente...
Per la mia esperienza non lo consente mai, anche perchè magari ti ci vuole un mese solo per riscrivere quanto esistente e magari la modifica deve finire in produzione in meno di 2 settimane (test inclusi). E da capo progetto se qualcuno mi dicesse questo codice fa schifo lo riscrivo da 0 mi ci vuole 1 mese in più ovviamente gli direi si hai ragione il codice fa schifo, per me puoi fare tutto quello che vuoi ma in 2 settimane deve essere in produzione.
Specialmente perchè i tempi dei progetti sono stimati sul tempo necessario a realizzare la modifica, non per il rifacimento completo.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 15:12   #10
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
E Quoto CDiMauro. La rifattorizzazione e' un punto cardine di queste metodologie. Si procede alla sostituzione parziale di un pezzo alla volta, fino a che si riesce a generalizzare comportamenti, riuscendo quindi a tagliare via intere branche di codice divenuto duplicato.
Si se il software di partenza è scritto abbastanza bene lo puoi fare, ma il tipico codice è talmente interdipendente che sostituire una parte significa dove necessariamente andare a cambiarne anche un'altra e così via a catena fino alla riscrittura completa dell'intero software.
Per non parlare di software realizzati con vecchi linguaggi ormai morti es: VB6 o ASP.
Devi riscrivere tutto da 0 usando un linguaggio più moderno.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 15:15   #11
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Aggiungo soltanto un'altra cosa. Alcune volte mi capita di dover mettere mano a codice altrui. Ebbene, quando posso, me lo studio e cerco di estenderlo o trarre spunto.

Ma quasi sempre finisco col chiedere spiegazioni su cosa dovrebbe fare quel codice, per rifarmelo da zero. Perdo molto meno tempo a scrivere il codice dalla descrizione dell'algoritmo, che a cercare di capire cosa fa la sua implementazione scritta da qualcuno.

Sì, a volte reinventare la ruota è decisamente la soluzione "migliore".
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 15:22   #12
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Ok per il tuo ma per quello scritto da altri?
Puoi permetterti di rischiare di perderti nei meandri di un programma che magari funziona da anni? Sicuramente non documentato e di cui rischi di perderti qualche "nuanche" nascosta nelle decine di if annidati?
Doppotutto la scadenza è fissa (ed è sempre troppo a ridosso).
Manco a farlo apposta, ho scritto poco fa un commento a tal proposito riflettendo sugli altri che sono scritti dall'ultima volta che avevo letto il thread.
Quote:
Se la scadenza te lo consente...
Per la mia esperienza non lo consente mai, anche perchè magari ti ci vuole un mese solo per riscrivere quanto esistente e magari la modifica deve finire in produzione in meno di 2 settimane (test inclusi). E da capo progetto se qualcuno mi dicesse questo codice fa schifo lo riscrivo da 0 mi ci vuole 1 mese in più ovviamente gli direi si hai ragione il codice fa schifo, per me puoi fare tutto quello che vuoi ma in 2 settimane deve essere in produzione.
Specialmente perchè i tempi dei progetti sono stimati sul tempo necessario a realizzare la modifica, non per il rifacimento completo.
Dalla mia ho un paio di vantaggi: in azienda in Python ci lavoro quasi esclusivamente io (adesso finalmente c'è un collega che sta seguendo le mie orme ), e poi con questo linguaggio scrivo codice molto velocemente.

Comunque un po' di tempo per la rifattorizzazione lo si trova. Non dico sempre, ma dopo diversi mesi mi capita di trovare qualche giorno a disposizione per poterlo fare.

Oppure, mentre lavoro a un nuovo progetto o funzionalità per uno esistente, se mi capita di rimettere mano a codice già scritto e mi accorgo che c'è un pattern ricorrente, rifattorizzo solo quel pezzetto, lasciando il resto com'è.
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Si se il software di partenza è scritto abbastanza bene lo puoi fare, ma il tipico codice è talmente interdipendente che sostituire una parte significa dove necessariamente andare a cambiarne anche un'altra e così via a catena fino alla riscrittura completa dell'intero software.
Per non parlare di software realizzati con vecchi linguaggi ormai morti es: VB6 o ASP.
Devi riscrivere tutto da 0 usando un linguaggio più moderno.
OK, ma a me capita di rado una situazione del genere. Vuoi perché, appunto, ci lavoro soltanto io. Vuoi perché ho la tendenza a scrivere codice con una certa interfaccia ben definita e "stabile" nel tempo, per cui la rifattorizzazione quasi sempre mi comporta un cambiamento dell'implementazione e non dell'interfaccia, quindi garantendo il funzionamento del codice già esistente che ne fa uso.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 15:58   #13
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Dalla mia ho un paio di vantaggi: in azienda in Python ci lavoro quasi esclusivamente io (adesso finalmente c'è un collega che sta seguendo le mie orme ), e poi con questo linguaggio scrivo codice molto velocemente.
Te parti dalla visione di un progetto portato avanti da una singola persona. Nel mio caso i progetti coinvolgono almeno 3 persone che devono intervenire su parti diverse di un sistema che comporta modifiche a più software. In tali circostanze è impensabile anche solo proporre le tempistiche per la riscrittura.
Poi alle volte date le capacità di chi andrà a mettere mano al codice il risultato di una riscrittura non sarebbe difforme dall'originale...
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 16:02   #14
astorcas
Senior Member
 
L'Avatar di astorcas
 
Iscritto dal: Jan 2005
Città: Siena
Messaggi: 1313
io ormai sono entrato nell'ottica "A lavoro scrivo porcherie e a casa mi do all'arte della programmazione". Più che altro è un mix di rassegnazione e menefreghismo
astorcas è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 16:20   #15
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Quote:
Originariamente inviato da astorcas Guarda i messaggi
io ormai sono entrato nell'ottica "A lavoro scrivo porcherie e a casa mi do all'arte della programmazione". Più che altro è un mix di rassegnazione e menefreghismo
A volte se vuoi fare un dispetto è più facile riuscirci se scrivi codice con tutti i crismi, in modo che sia praticamente incomprensibile a gente che scrive programmi tutti nel main.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 16:21   #16
javaboy
Registered User
 
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Se la scadenza te lo consente...
Per la mia esperienza non lo consente mai, anche perchè magari ti ci vuole un mese solo per riscrivere quanto esistente e magari la modifica deve finire in produzione in meno di 2 settimane (test inclusi). E da capo progetto se qualcuno mi dicesse questo codice fa schifo lo riscrivo da 0 mi ci vuole 1 mese in più ovviamente gli direi si hai ragione il codice fa schifo, per me puoi fare tutto quello che vuoi ma in 2 settimane deve essere in produzione.
Specialmente perchè i tempi dei progetti sono stimati sul tempo necessario a realizzare la modifica, non per il rifacimento completo.

Il problema è che per rispettare una milestone si produce del codice che moltiplicherà per 10 il tempo necessario a rispettare le milestone successive.
E' necessario trovare il coraggio di fermarsi e buttare il codice vecchio a volte.
Un altro problema è che i programmatori vengono considerati infima manovalanza intercambiabile, non puoi far lavorare una persona per 3 mesi e poi allocarla su un altro progetto passando la patata bollente a un altro che impiegherà mesi a capire quel che è stato fatto dal collega.
javaboy è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 16:37   #17
javaboy
Registered User
 
Iscritto dal: May 2005
Città: far away from home
Messaggi: 1038
Molto spesso poi manca una figura di programmatore capo o direttore tecnico: ci sono i project manager che perdono completamente il contatto con gli aspetti tecnologici e i programmatori: tutti allo stesso livello, tutti allo sbaraglio.

Ogni programmatore pensa al suo orticello e a soddisfare il requisito nel minor tempo possibile, in questo modo si crea del codice spazzatura.
javaboy è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 16:49   #18
astorcas
Senior Member
 
L'Avatar di astorcas
 
Iscritto dal: Jan 2005
Città: Siena
Messaggi: 1313
Quote:
Originariamente inviato da javaboy Guarda i messaggi
Molto spesso poi manca una figura di programmatore capo o direttore tecnico: ci sono i project manager che perdono completamente il contatto con gli aspetti tecnologici e i programmatori: tutti allo stesso livello, tutti allo sbaraglio.

Ogni programmatore pensa al suo orticello e a soddisfare il requisito nel minor tempo possibile, in questo modo si crea del codice spazzatura.
bene... dunque è una realtà comune, non solo dei posti dove ho lavorato fino ad ora
astorcas è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 16:51   #19
khelidan1980
Senior Member
 
L'Avatar di khelidan1980
 
Iscritto dal: Mar 2005
Città: Morimondo city
Messaggi: 5491
Quote:
Originariamente inviato da javaboy Guarda i messaggi
P
Bisogna trascinarsi dietro codice vecchio di 20 anni, mal progettato, mal scritto e mal documentato perchè va bene perdere 2 anni a mettere le pezze ad una vecchia carcassa ma non va bene riscrivere il software da zero in un anno perchè si "reinventa la ruota".
20 anni? Ti va di lusso qui ci si trascina dietro servizi cobol scritti negli anni 70

Quote:
Originariamente inviato da javaboy Guarda i messaggi
Nella maggior parte dei progetti sui quali ho lavorato ho visto questo genere di cose:

1)Codice assolutamente inutile, morto e abbandonato ma mai cancellato per chissà quale ragione.

2)Interi moduli che facevano la stessa cosa di altri moduli.

3)Classi con oltre 10.000 righe di codice e dalle funzionalità completamente eterogenee

4)Classi diverse create col cut-paste col 99% del codice in comune

5)Varie versioni fun1, fun2, fun3 della stessa funzione modificate a casaccio e mantenute nel caso ci si accorga che forse era meglio quella vecchia...
Ordinaria amministrazione!
__________________
Khelidan
khelidan1980 è offline   Rispondi citando il messaggio o parte di esso
Old 03-04-2010, 16:55   #20
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da tomminno Guarda i messaggi
Te parti dalla visione di un progetto portato avanti da una singola persona. Nel mio caso i progetti coinvolgono almeno 3 persone che devono intervenire su parti diverse di un sistema che comporta modifiche a più software. In tali circostanze è impensabile anche solo proporre le tempistiche per la riscrittura.
Poi alle volte date le capacità di chi andrà a mettere mano al codice il risultato di una riscrittura non sarebbe difforme dall'originale...
Non mi sono spiegato bene allora. La parte a cui lavoro io la gestisco quasi esclusivamente io (a parte il nuovo aiuto; finalmente), ma ai progetti in cui sono coinvolto lavorano diverse persone (con linguaggi diversi).
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro
@LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro
Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys
cdimauro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Recensione REDMAGIC Astra Gaming Tablet: che spettacolo di tablet! Recensione REDMAGIC Astra Gaming Tablet: che spe...
La Corea del Sud vorrebbe costruire una ...
Rilasciati i primi risultati delle anali...
Robot umanoidi low cost? Unitree ci prov...
Non solo Rocket Lab, anche Avio potrebbe...
Chips Act UE: 41,5 milioni di euro a Eph...
Ryzen Threadripper 9000 al debutto il 31...
Nuovi coupon nascosti Amazon (aggiorname...
Chatbot e salute mentale: nascono i prim...
Prezzi in ribasso su Amazon su tante com...
Eureka J15 Ultra spiazza la concorrenza ...
Stufi di tagliare il prato? Questi robot...
Anche Dyson si adegua: sconti fino a 200...
Mi sono rotto un dito, e le avventure gr...
Tutto vero: costa solo 899€ il portatile...
Lefant M330Pro da 5.000Pa a 104€ o i due...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 04:31.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v