Gli "Ospiti" della Sala Macchine |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
Dopo poco cominciai a diventare il tuttofare di questa malnata societa' di ebeti.
Dopo circa un anno la societa' comincio' a licenziare a rotta di collo (non ho mai capito se la causa fossi io o la crisi del settore). A quel punto i vari programmatori che venivano allontanati lasciavano le loro opere d'arte sui vari applicativi dei clienti. Un giorno del mio secondo anno mi chiamano Boss/GR (gestore rete)/HR (Human Resourcers).
Boss: Ciao, dobbiamo passare sito di cliente X sul tuo nuovo applicativo di
CMS e dobbiamo mettere questo script con questo form per spedire gli ordini
via mail.
IO: Be' se devo solo mettere uno script che spedisce una mail con il
relativo form non c'e' nessun problema.
GR: E' proprio cosi'.
HR: Esatto non devi fare niente di piu'.
IO: Meglio vedere lo script per sicurezza.
GR: Eccolo qui.
Mi si presenta uno script di centinaia di righe e gia' penso al mal di testa che mi verra' se mi metto a controllarlo.
IO: Ma siete proprio sicuri che sia a posto cosi'? Non dovrei darci
un'occhiata e vedere se serve tutta quella roba.
Boss: No, lascia perdere: tu sei occupato nello sviluppo di
$Applicazione_che_mai_riusciremo_a_vendere.
IO: Effettivamente tempo ne ho poco.
Boss: Appunto. Metti su sta roba e basta.
IO: Ma siamo sicuri GR.
GR: Ma si', tanto...
IO: OK. Eseguo.
8 mesi e 15 licenziamenti dopo.
Sto tornando dal pranzo quando incontro Boss con HR e SemiBoss.
Boss: Eccolo il disastratore.
IO: Io? In che senso?
Boss: Disastro! cliente X ha telefonato inca77ato perche' il modulo ordini
manda cose alla ca##o.
HR: Si', sai quello script che avevi messo su al tempo.
IO (10 secondi per ricordare): Ahhhnnnn. Quella cosa che mi avevate
assicurato che funzionava perfettamente fatta da $programmatore_del_menga.
E con cio'? Io che c'entro?
HR: Ehmm, credo che non funzioni da quando hanno cambiato il form.
IO: come cambiato il form?
HR: Si' perche' il form e' stato fatto con il Cms.
IO: Gia', se lo script era fatto unicamente per un form fatto in una certa
maniera con certi campi mai piu' funzionera' con un form differente.
Boss: Sarebbe da mettere a posto subito. Ho gia' preso una sequela di
bestemmie dal cliente.
IO: Ok ora lo guardo.
Mi dirigo a velocita' warp verso l'ufficio, a quel tempo condiviso con n persone. Apro lo script e comincio l'analisi.
Comincia a formarmisi nella mente una sola frase: MA QUANDO MAI UNA COSA COSI' SI PUO' DEFINIRE PROGRAMMA? Noto subito una condizione di un if lungo quanto due pagine. Le altre quattro pagine sono di cose assolutamente inutili, tra cui commenti, caricamenti di variabili in maniera random, scopiazzature da altri programmi e via dicendo.
OK: partiamo dal form "che e' meglio" come direbbe quattr'occhi dei puffi. Vedo.... Controllo... Capisco! 5 minuti dopo avevo prodotto il mio script che ciclava tranquillamente l'array di valori spediti dal form, controllando un valore alla volta e spedendo la mail, con alcuni abbellimenti tipo formattare meglio la mail stessa. Inoltre l'avevo reso meno sensibile ai cambiamenti del form aka se avessero cambiato i valori e il numero di certi campi per lo script non avrebbe fatto nessuna differenza.
Lunghezza dello script 1,2,3.....40 righe!!! Meno di una pagina.
Provo ancora a guardare che cavolo aveva combinato $programmtore_del_menga. No! Impossibile. Non credo di riuscire a capire questo codice.
IO (a voce sostenuta): Ma che ca##o!!!!!! Ma come si fa a scrivere sta M3RDA.
Li' davanti avevo GR che mi guarda interrogativo.
GR: Che c'e'? Cosa succede?
IO: E' sto script fatto da $programmtore_del_menga per cliente X. Mai visto
una munna tale!
GR: In che senso.
IO: Ha fatto una condizione di un if lunga 2 pagine, e non serviva a un
fava.
GR: Ah be'. Perche' tu non hai visto la tabella mostro, sempre fatta da
$programmtore_del_menga.
IO: Tabella mostro?
GR: Ma si' la tabella mostro. Era una tabella con
$Numero_di_colonne_che_mi_ha_quasi_fatto_venire_un_infarto.
IO: Ma come??? Ma per caso stai parlando delle righe?
GR: No sto parlando proprio delle colonne.
IO: Ma che ca##o gli servivano tutte ste colonne?
GR: Vallo a sapere. Fatto sta che la tabella aveva solo 2 o 3 righe.
IO: Ma sara' servita (parola grossa) a qualche applicazione.
GR: Si' pero' PC (programmatore capo) quando l'ha vista non ha voluto
nemmeno sapere come era fatta l'applicazione. Ha voluto sapere a cosa
serviva e poi l'ha riscritta totalmente. Credo abbia impiegato una cosa
come 2 giorni a tempo perso.
IO: In effetti facendo le dovute proporzioni il tempo che ho impiegato a
riscrivere da zero lo script e' circa lo stesso.
GR: In effetti non era un guru della programmazione
$programmtore_del_menga.
IO: Guru? Ma manco il caffe' gli farei preparare a sto tizio.
GR: Dici? E' proprio cosi' infame tutto quello che ha fatto?
Un brivido mi scorre lungo la schiena... "tutto"?
IO: Ma quanta roba ha fatto il tipo?
GR: E chi lo sa!
IO: Va bene, metto in linea il nuovo script e me ne vado a casa. Torno
domani.
GR: Come?
IO: Sono stanco e abbattuto. Probabilmente domani tutta la sala macchine
brucera' e io devo essere pronto con l'estintore: se abbiamo lasciato
questa roba dentro le nostre applicazioni, sono convinto che qualcuno ha
anche messo una bomba dentro la sala macchine con un timer. Mi trovi
on-line comunque. Ciao.
La schifezza fatta da $programmtore_del_menga poi e' saltata fuori altre volte, assieme ad altri capolavori di altri programmatori. Ammetto che anche io a volte faccio delle schifezze, ma nemmeno nei miei sogni piu' perversi avrei saputo creare un if di quel tipo.
Marco Ruaro
26/01/2009 10:16
le storie degli ospiti sono in ordine sparso, quindi 'precedente' e 'successiva' possono portare su storie di altri autori
Comments are added when and if I (or the story's author) has the time to check them and after removing junk, phishing and so on. So don't hold your breath. Besides, if your comment doesn't get posted, don't write me about it. Evidently it wasn't worth it.
Che sollievo By Daniele C. posted 28/01/2009 13:26
-- Daniele C.
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.