Torna indietro   Hardware Upgrade Forum > Software > Programmazione

OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh
OPPO Find X9 Pro punta a diventare uno dei riferimenti assoluti nel segmento dei camera phone di fascia alta. Con un teleobiettivo Hasselblad da 200 MP, una batteria al silicio-carbonio da 7500 mAh e un display da 6,78 pollici con cornici ultra ridotte, il nuovo flagship non teme confronti con la concorrenza, e non solo nel comparto fotografico mobile. La dotazione tecnica include il processore MediaTek Dimensity 9500, certificazione IP69 e un sistema di ricarica rapida a 80W
DJI Romo, il robot aspirapolvere tutto trasparente
DJI Romo, il robot aspirapolvere tutto trasparente
Anche DJI entra nel panorama delle aziende che propongono una soluzione per la pulizia di casa, facendo leva sulla propria esperienza legata alla mappatura degli ambienti e all'evitamento di ostacoli maturata nel mondo dei droni. Romo è un robot preciso ed efficace, dal design decisamente originale e unico ma che richiede per questo un costo d'acquisto molto elevato
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-06-2010, 09:13   #1
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
[OT: Rapporti sociali] - Vita d'ufficio

Oggi ho riaperto un pezzo di codice che avevo scritto tempo fa ed ho avuto la sensazione di vedere un roseto potato con una trebbiatrice... é il caso che lo faccio notare?
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 09:18   #2
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Beh, quando capita io lo faccio. Lo sanno anche i muri, in ufficio, che disprezzo il mio vecchio codice.

Appena devo rimetterci mano per qualche aggiornamento ne approfitto per rifattorizzarlo o, eventualmente, riscriverlo.

Ad esempio, è da un paio di settimane che sto ristrutturando l'intero codice di un progetto che è in produzione, ma che continua a subire modifiche a causa di nuovi requisiti. E siccome mi sono stancato di prendere pali (visto che sono soltanto un pezzo di una "catena di montaggio", e per fare dei test seri dovrei scomodare tutti gli altri pezzi; cosa alquanto difficile), mi sono preso il tempo che mi serve e sto passando tutto alla TDD. Adesso sono MOLTO più sereno.
__________________
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 07-06-2010, 10:12   #3
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
Oggi ho riaperto un pezzo di codice che avevo scritto tempo fa ed ho avuto la sensazione di vedere un roseto potato con una trebbiatrice... é il caso che lo faccio notare?
Personalmente ho smesso di lamentarmi del codice già scritto. Dopo un pò ho imparato che nella quotidianità del lavoro non puoi mai sapere perchè un certo pezzo di codice sia scritto nella maniera in cui è scritto.

Anche quelli bravi scrivono codice di merda, a volte.

Non è un comportamento dovuto all'incapacità, ma in un mondo di deadline, analisi di requisiti discordanti, utenti schizofrenici, cambi progetto, riunioni, strumenti di sviluppo inadeguati, "standard" aziendali che dopo 6 mesi sono obsoleti, ecc, ecc... non puoi sapere perchè quel pezzo di codice sia scritto cosi.

Purtroppo non si riesce sempre a scrivere codice elegante, per svariati motivi che non dipendono dall'individuo, ma dall'ambiente. Quello che si fa sul lavoro, comunemente, è piuttosto lontanto dall'arte della programmazione. Il refactoring in certi casi lo puoi fare se il cliente te lo paga. O se hai tempo libero, e non ti hanno spostato ad altri progetti.

In conclusione: non me ne uscirei con un "OMG! WTF iz this CRAP!??!?!111"... ma magari con un "Penso che questo pezzo possa essere strutturato in maniera più flessibile e performante."

My 2 centz.
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 10:38   #4
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
rileggendo l'OP mi sa che non ho reso l'idea, il problema é che un altro collega ha messo le mani su questa pagina é l'ha distrutta scrivendo codice molto poco performante (oltre che sporco)

per la serie: io ero il giardiniere che aveva tirato su il roseto, e questo collega era il contandino su trebbiatrice :P
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 10:42   #5
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
rileggendo l'OP mi sa che non ho reso l'idea, il problema é che un altro collega ha messo le mani su questa pagina é l'ha distrutta scrivendo codice molto poco performante (oltre che sporco)

per la serie: io ero il giardiniere che aveva tirato su il roseto, e questo collega era il contandino su trebbiatrice :P
Si io avevo capito proprio cosi.
Vale sempre il discorso che ho fatto, puoi far notare la cosa in maniera 'polite'
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 10:42   #6
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
In tal caso... a morte il contadino.
__________________
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 07-06-2010, 11:01   #7
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
E siccome mi sono stancato di prendere pali (visto che sono soltanto un pezzo di una "catena di montaggio", e per fare dei test seri dovrei scomodare tutti gli altri pezzi; cosa alquanto difficile), mi sono preso il tempo che mi serve e sto passando tutto alla TDD. Adesso sono MOLTO più sereno.
Ero scettico riguardo al TDD. Poi ho dovuto impararlo per partecipare ad un progetto e mi sono dovuto ricredere. Magari può prendere tempo per scrivere i test, ma poi vivi tranquillo
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 12:22   #8
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
In tal caso... a morte il contadino.
voto unanime

PS: un pezzettino di codice trovato su una delle applicazioni che sto modificando
Codice HTML:
logger.debug("sono dentroooooooooooooooooooo"); // oooh siii ... che goduria
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 12:53   #9
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Non ci credo
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 12:56   #10
Kralizek
Senior Member
 
L'Avatar di Kralizek
 
Iscritto dal: Feb 2003
Città: Stockholm (SE)
Messaggi: 1343
Kralizek è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 18:12   #11
marco.r
Senior Member
 
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
Nei momenti di maggiore tensione si scrivono queste ed altre perle.
Tipo
Codice:
void merda()
{
...
}
oppure
Codice:
   printf("Ma che oooooh...\n");  // se non bestemmio stavolta...
cose temporanee che in teoria non dovrebbero vedere neanche il tramonto, ma che a volte in modi misteriosi finiscono pure nel repository .

Piccolo OT visto che si parla di cose che restano oltre il dovuto... Una volta ho preparato una macchina per un collega (diciamo Pinco). ho messo una password temporanea e per essere sicuro che la cambiasse ho scelto "PincoStupido". "Cosi' sono sicuro che la cambi quanto prima".
E' ancora li'...
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele
marco.r è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 18:46   #12
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da marco.r Guarda i messaggi
Nei momenti di maggiore tensione si scrivono queste ed altre perle.
Tipo
Codice:
void merda()
{
...
}
oppure
Codice:
   printf("Ma che oooooh...\n");  // se non bestemmio stavolta...
cose temporanee che in teoria non dovrebbero vedere neanche il tramonto, ma che a volte in modi misteriosi finiscono pure nel repository .

Piccolo OT visto che si parla di cose che restano oltre il dovuto... Una volta ho preparato una macchina per un collega (diciamo Pinco). ho messo una password temporanea e per essere sicuro che la cambiasse ho scelto "PincoStupido". "Cosi' sono sicuro che la cambi quanto prima".
E' ancora li'...
[imbarazzatissimo mode on]

io sono uno dei contadini

alle volte nelle mie porzioni di codice puoi trovare cose del genere:

Codice:
//ci riesco stavolta a far venir fuori la lista ?
private IList HowTheHellReturnThisList(....)
{
   .....
}
[imbarazzatissimo mode off]



Oppure catturo delle eccezioni facendomi restituire solo un "ASD", e ne metto così tante che poi
non capisco più a chi "ASD" si riferisce....
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 19:43   #13
Ryuzaki_Eru
Senior Member
 
L'Avatar di Ryuzaki_Eru
 
Iscritto dal: Sep 2009
Città: Nel mondo dei sogni
Messaggi: 4131
Quella di Raoul è geniale, soprattuto la parte degli asd....
Ryuzaki_Eru è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 20:55   #14
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Quote:
Originariamente inviato da Ryuzaki_Eru Guarda i messaggi
Ero scettico riguardo al TDD. Poi ho dovuto impararlo per partecipare ad un progetto e mi sono dovuto ricredere. Magari può prendere tempo per scrivere i test, ma poi vivi tranquillo
Ne prende abbastanza, ma è tutto tempo ripagato: te ne accorgi dopo, non appena fai qualche modifica e c'è qualche test che fallisce segnalandoti che hai fatto una cazzata.

In pratica s'investe già in fase di sviluppo per quella di test. Con l'indiscutibile vantaggio di ritrovarti con una test case che puoi usare sempre a fine sviluppo, ma soprattutto con un sistema molto più solido.
Quote:
Originariamente inviato da vladix Guarda i messaggi
PS: un pezzettino di codice trovato su una delle applicazioni che sto modificando
Codice HTML:
logger.debug("sono dentroooooooooooooooooooo"); // oooh siii ... che goduria
Questa è da antologia.
__________________
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 07-06-2010, 21:14   #15
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da RaouL_BennetH Guarda i messaggi
io sono uno dei contadini
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 21:57   #16
minerte
Member
 
Iscritto dal: Mar 2008
Messaggi: 142
bhe a volte per tempi di consegna strettissimi sono "necessari"...purtroppo le basi dell'ingegneria del software mancano...ma non ha chi struttura/scrive il codice ma al cliente....vaglielo a spiegare che magari allungando la consegna potresti scrivere un codice più pulito facile da manutenere etc etc.... ma c'è anche il discorso più manutanzione => più lavoro.
Bhe io ho imparato il detto dell'antico programmatore cinese
"non toccare codice che funziona"
Infatti attualmente nel "mio" progetto c'è una classe di 5800 righe ( ) che gestisce metà "applicazione" (penso che chi l'abbia scritta venisse della programmazione procedurale) a cui non farei il refactoring nemmeno con la pistola puntata contro......
minerte è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 22:17   #17
cdimauro
Senior Member
 
L'Avatar di cdimauro
 
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26110
Io, invece, ho una generale tendenza alla rifattorizzazione (sono malato: aiutatemi!!! ).

Magari dirò un'eresia, ma la trovo un'attività più stimolante e appagante della stessa (prima) scrittura del codice.
__________________
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 07-06-2010, 22:26   #18
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
Quote:
Originariamente inviato da Kralizek Guarda i messaggi
rileggendo l'OP mi sa che non ho reso l'idea, il problema é che un altro collega ha messo le mani su questa pagina é l'ha distrutta scrivendo codice molto poco performante (oltre che sporco)

per la serie: io ero il giardiniere che aveva tirato su il roseto, e questo collega era il contandino su trebbiatrice .
E' il caso che lo faccia notare?:P
Dipende tutto dalla posizione di potere che ha il "contadino" nella tua azienda.
Insomma il peso e il rapporto che ha con te e con le alte sfere, questo "trebbiatore".
In azienda non c'è democrazia..
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 23:20   #19
minerte
Member
 
Iscritto dal: Mar 2008
Messaggi: 142
Quote:
Originariamente inviato da cdimauro Guarda i messaggi
Io, invece, ho una generale tendenza alla rifattorizzazione (sono malato: aiutatemi!!! ).

Magari dirò un'eresia, ma la trovo un'attività più stimolante e appagante della stessa (prima) scrittura del codice.
ma per me il problema e sempre quello economico....
Se ci troviamo in un progetto open o personale io lo farei sempre....
ma in un progetto "closed" e "legacy" dove magari la logica che gestisce e contorta(dalle varie modifiche negli ) ma "funziona" ti conviene(se non per reali esigenze), sia in termini di tempo che economici fare un reverse engineering per capirne il funzionamento e rischiare?
Tutto quello che ho detto è contrario a ciò che ho studiato, ma da quello che ho sempre visto le cose vanno cosi......
minerte è offline   Rispondi citando il messaggio o parte di esso
Old 07-06-2010, 23:35   #20
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da minerte Guarda i messaggi
ma per me il problema e sempre quello economico....
Se ci troviamo in un progetto open o personale io lo farei sempre....
ma in un progetto "closed" e "legacy" dove magari la logica che gestisce e contorta(dalle varie modifiche negli ) ma "funziona" ti conviene(se non per reali esigenze), sia in termini di tempo che economici fare un reverse engineering per capirne il funzionamento e rischiare?
Tutto quello che ho detto è contrario a ciò che ho studiato, ma da quello che ho sempre visto le cose vanno cosi......
è dimostrato che il continuous refactoring migliora la qualità del codice e a lungo andare DIMINUISCE i costi.
Se non si rifattorizza costantemente il codice la complessità per effettuare una modifica cresce esponenzialmente e di conseguenza anche il costo per il cliente.
TDD e continuous refactoring sono le basi per avere una buona codebase e per mantenere i costi di sviluppo costanti.
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


OPPO Find X9 Pro: il camera phone con teleobiettivo da 200MP e batteria da 7500 mAh OPPO Find X9 Pro: il camera phone con teleobiett...
DJI Romo, il robot aspirapolvere tutto trasparente DJI Romo, il robot aspirapolvere tutto trasparen...
DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Il Giappone un passo più vicino a...
Gli interferometri LIGO, Virgo e KAGRA h...
Kia PV5: è record di autonomia! I...
L'aeroplano supersonico ''silenzioso'' N...
Nissan: le batterie allo stato solido co...
NVIDIA cambia strategia? La GPU Feynman ...
Signal respinge le accuse dopo il down A...
Uragano Melissa in arrivo: la tempesta d...
8K o 4K? Ecco perché il tuo occhi...
Mercato auto europeo in crescita nei pri...
Addio SSD e RAM, benvenuti funghi: dagli...
TCL Q6C: tecnologia e design per un TV c...
Corsair MP700 PRO XT al debutto: un SSD ...
Apple Watch Ultra 2 in titanio con GPS +...
Nuova protezione per Windows 11: scansio...
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: 20:35.


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