I bravi programmatori battono i tasti

Vi è mai capitato di iniziare un a progettare software e poi durante l’implementazione ci si ritrova a ridiscutere o modificare grosse parti dello stesso? A me capita e spesso mi rendo conto che:

  • La soluzione iniziale era troppo complicata o prevedeva cose insensate;
  • Sto reinventando la ruota, forse c’è qualcosa che posso scaricare/riutilizzare.

Nella quotidianità c’è un feedback molto stretto tra l’implementazione e la progettazione. Per la mia esperienza di solito vanno pari passo e molta progettazione viene fatta durante l’implementazione.

La conclusione a cui sto arrivando è che forse cominciare a scrivere codice dopo aver pianificato troppo ha la stessa utilità che scrivere codice senza pianificazione alcuna.

È probabile inoltre che nel mondo software non sia possibile fare una progettazione completa (esempio con UML), consegnarla a sulla scrivania a un programmatore e avere l’aspettativa che il lavoro si completerà con successo. È improbabile riuscire a progettare un’applicazione per il mondo reale interamente su fogli di carta e poi cominciare a farla. Fare dei prototipi via via che il progetto prosegue è utile per raccogliere informazioni sulla fattibilità, le performance e problemi a cui non si era pensato.

Se vogliamo essere bravi sviluppatori dovremmo sempre prendere decisioni basate sui fatti e sull’esperienza. Una stretta relazione tra implementazione e progettazione permette tutto ciò. Se vogliamo essere bravi sviluppatori, che ci piaccia o meno, dobbiamo darci una mossa e battere tasti per scrivere quel dannato codice.

Advertisements

One thought on “I bravi programmatori battono i tasti

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s