Caro programmatore.... 
martedì, marzo 14, 2006, 09:58 - FromOldBlog, Refactoring, Dev, Design
In risposta ai post del mio amico Enrico sui diritti dei programmatori e sulle paure dei programmatori, ripropongo riveduto e corretto un post dal vecchio blog aziendale:

Caro programmatore, sia tu un junior alle prime armi o un senior di provata esperienza (?!?!?), è così difficile?

E' così difficile scrivere classi con meno di 50 metodi?

E' così difficile scrivere metodi con meno di 50 righe?

E' così difficile usare nomi di variabili comprensibili?

E' così difficile scrivere codice che sia almeno un po' object oriented?

E' così difficile imparare un po' i principi di design?

E' così difficile imparare un po' i patterns?

E' così difficile non reinventare tutto da zero ed usare google?

Se hai risposto sì a tutte le domande.... cambia lavoro, stronzo! Perché il tuo codice di merda finirà nelle mani di qualcuno, e se quel qualcuno sono io spera di essere lontano... molto lontano.


Questo per sottolineare che i programmatori hanno diritti, paure, ma anche doveri: nei confronti di loro stessi e nei confronti dei loro colleghi.

C'è sempre qualcuno pronto ad obiettare: "Basta che funzioni".
Questo è un punto importante. Partiamo dal presupposto che nessun codice è esente dai bachi, ed anche se lo fosse presto o tardi dovrà essere modificato per assecondare le richieste di qualcuno.

Se scrivo del codice orrendo, ma funzionante (ora :) ), alla scoperta del primo baco sarà quasi impossibile farci manutenzione. Idem per una modifica. Farò più in fretta a riscriverlo. E questo anche per chi ha prodotto materialmente quella montagna di escrementi che si ostina a chiamare codice funzionante.

Non è poi così difficile. Puoi partire con un METODONE, ma poi lo prendi e lo scomponi in metodi più piccoli, magari ogni metodo lo testi, ma non lo pretendo :). Mi basta avere metodi piccoli, variabili con un nome comprensibile, classi di lunghezza ragionevole che facciano poche cose, ma fatte bene. Voglio codice che parla, non commenti che sono romanzi! Ah, i commenti... il commento dice che il metodo fa "toma", il metodo in effetti fa "soma", ma entrambi sono errati, perchè quel metodo doveva fare "roma".....

Meglio del codice bacato, ma su cui è facile fare manutenzione, che del codice che oggi funziona, ma che domani andrà riscritto perchè incomprensibile.

Il bello del software, è che è soft: lo puoi modellare come fosse pongo, adattarlo alla nuova situazione, ma devi metterti nelle condizioni di poterlo fare.




Enri  
martedì, marzo 14, 2006, 14:46
:) Gran post FRANK! :)

Hai mostrato l'altro lato della medaglia. In effetti i diritti del committente dovrebbero regolare anche questi doveri dei programmatori. Personalmente preferisco un approccio che mostri i diritti di entrambe le parti, che portano in modo naturale ai doveri di entrambi, piuttosto che "imporre" dei doveri. Spesso si parla di disciplina, forse sarebbe meglio dire "stato mentale".

Frank 
martedì, marzo 14, 2006, 15:05
Spesso si parla di disciplina, forse sarebbe meglio dire "stato mentale".

Il mio professore di matematica delle superiori parlava di buon senso. Mi ricordo che in terza le prime volte che associava la matematica al buon senso pensavo non fosse tutto centrato. La matematica è una scienza esatta, cosa c'entra il buon senso?

Poi ho visto cose che voi umani.... No, semplicemente ho visto gente ottenere soluzioni impossibili, che con un po' di buon senso sarebbero state subito scartate ed ho cominciato a capire.

Ora vedo codice così brutto, ma così brutto, che spero sempre che un po' di buon senso entri nelle teste di questa gentaglia.

Del resto non si può pretendere che un individuo che si è avvicinato all'informatica mossa dallo slogan "abbiamo bisogno di 2 milioni di persone specializzate nell'IT", possa essere mosso da un minimo di passione e voglia di miglioramento per questo lavoro.

Ma un pizzico di buon senso mi piacerebbe infilarlo nella testa di qualcuno, magari usando il mio Black&Decker, regalo di natale di mio padre :)

martedì, marzo 14, 2006, 15:39
Eheheh mitici prof di mate! :D

Del resto non si può pretendere che un individuo che si è avvicinato all'informatica mossa dallo slogan "abbiamo bisogno di 2 milioni di persone specializzate nell'IT", possa essere mosso da un minimo di passione e voglia di miglioramento per questo lavoro.

:__((

Frank 
martedì, marzo 14, 2006, 16:15
Eh, sulla professionalità, la passione, la voglia di lavorare e la voglia di lavorare in questo campo potremmo postare per anni.

La grande bugia è che in quei 2 milioni (un numero a caso) di persone di cui ha bisogno l'IT vengono inglobati tutti i profili possibili: dal venditore al call center pagato 5€ l'ora al professionista di sicurezza a 1000€ giorno....

In effetti chi muove l'IT, ovvero fa le cose e le fa funzionare, è una piccola parte del tutto: ogni tre che lavorano, due stanno a guardare :) Come in tutti gli altri campi, del resto :)

Per quello che cinesi ed indiani ci faranno un culo così, perchè in tre lavorano per cinque.





Tom 
martedì, marzo 14, 2006, 17:27

Anche a me non piace il termine disciplina, forse perchè mi ricorda un termine da ambiente militare, che non era più applicabile quando si faceva ancora il militare, figuriamoci oggi.

Mi piace il "buon senso", anzi come dissi in un vecchio post XP è "suonare a orecchio", deve venire fuori spontaneo e naturale, deve essere il tuo modo di comportarti abitudinario.

Non esci mai di casa senza mutande, allora non far uscire il tuo codice senza i test.

I test sono le mutande del codice e un po' parano il culo anche a te :)


Frank 
martedì, marzo 14, 2006, 17:39
Grande TOM, vado a casa felice. Domani la stampo, 1 lettera per ogni A4, e l'appendo sopra alla scrivania!

Britney  
lunedì, marzo 26, 2007, 17:54


Helga  
martedì, marzo 27, 2007, 20:45


Hillary  
mercoledì, marzo 28, 2007, 17:53


Bush  
giovedì, marzo 29, 2007, 21:29


Helga  
domenica, aprile 1, 2007, 14:20


Bush  
lunedì, aprile 2, 2007, 19:34


Helga  
giovedì, aprile 5, 2007, 12:40


Helga  
venerdì, aprile 6, 2007, 01:19


free ringtones  
venerdì, novembre 30, 2007, 03:28
Hi. Sorry for my english. <a href=http://www.xanga.com/ring01 >cingular ringtones</a> <a href=http://ring01.tripod.com >cingular ringtones</a> <a href=http://www.xanga.com/mp3ring >mp3 ringtones</a> <a href=http://www.xanga.com/ring02 >free ringtones</a> Thank you for work. Good luck.

Commenti 

Aggiungi commento

Compilare i campi sottostanti per inserire un commento.









Inserisci formattazione testo: