Come sviluppare una nuova funzionalità

Un consiglio su come scrivere il codice dei nuovi sviluppi

Angelo Moroni
Sep 7, 2018 · 3 min read

Il mondo è lontano dall’essere perfetto: quando si scrive codice, bisogna avere a che fare con la realtà e, quando si è lì per cominciare una nuova funzionalità, la realtà è che le specifiche cambieranno sicuramente.

Sfido a trovare uno sviluppatore che non si lamenti o che non si sia mai lamentato di una cosa del genere. Chi non è del mestiere non capisce la nostra frustrazione e più che ripetere fino alla nausea di fornirci specifiche adeguate, non possiamo fare molto.

Tra le cose, però, che possiamo fare ce ne sono un paio che consiglio vivamente:

1. Procrastinazione Creativa

Attendete il più possibile prima di cominciare a scrivere codice. Cercate di fare l’avvocato del diavolo e mettete in discussione tutte le decisioni e, nel caso in cui non cambi molto, ragionate tanto prima di mettere mano alla tastiera.

Tuttavia, state attenti: fatevi bene i conti con le tempistiche. Non dimentichiamoci che abbiamo delle date da rispettare, per quanto possibile. Mancare le scadenze potrebbe creare altri problemi che appesantirebbero ancora di più la situazione, qualora fosse critica.

Se siete sviluppatori frontend, dedicatevi allo studio di particolari componenti grafici, fate esperimenti: in questo modo farete passare il tempo e voi avrete modo di imparare qualcosa che vi sarà utile. Nel caso in cui siate sviluppatori backend cominciate ad analizzare tutte le componenti che andrete ad utilizzare per la nuova funzionalità.

2. Scrivete codice che buttereste subito

Dimenticate di scrivere il miglior codice del mondo, con i pattern più adatti. Dimenticatelo. All’inizio non conoscerete al meglio il dominio su cui state lavorando per non parlare del fatto che è molto probabile che sarete costretti cambiare tanto di quello che avete già scritto e quindi sarebbe ingenuo pretendere di strutturare il progetto nel miglior modo possibile.

Dunque, il mio consiglio è: scrivete del codice che è facilmente modificabile, che riuscite a rimodellare senza troppi problemi e siate anche pronti a buttare quello che non serve più.

Questo richiederà in futuro un refactoring, appare chiaro, ma avverrà quando sarete più ferrati su ciò su cui avete lavorato e le specifiche sono più o meno delineate in maniera definitiva.

Scrivere codice in questo modo vi permetterà di raggiungere le scadenze (e il project manager ne sarà sicuramente contento) e attenua la vostra frustrazione nel caso in cui ci siano cambi improvvisi (meno fatica, meno frustrazione).

Attenti però! Non voglio dire che dovrete scrivere cattivo codice, ma sto solo dicendo che non deve essere la soluzione migliore in assoluto, a meno che essa non sia veloce. Logicamente è giusto che se riuscite ad ottenere il risultato migliore in poco tempo siete tenuti a raggiungerlo, ma nel caso in cui ce ne voglia molto di più, abbiate pazienza e cercate una soluzione più veloce.

Refactoring graduale

Voglio, infine, lasciarvi con un altro consiglio: il refactoring deve essere graduale. Evitate di fare una riscrittura massiva, ma piuttosto fate in modo che sia agevole e mantenibile. Non preoccupatevi di copiare codice già scritto (se appare già in un’altra funzionalità), perché a volte — e capita spesso in azienda- è più importante essere veloci che belli. Sarà quando la funzionalità avrà preso la stabilità finale il momento di togliere queste sporcizie e scrivere codice anche bello.

Detto questo, spero che troviate utili questi consigli. Fatemi sapere se ne avete altri.

Angelo Moroni

Written by

Code Monkey #Android per Bemind Interactive e ciarlatano digitale. (Aspirante) Scrittore e Filosofo. http://instagram.com/hooloovoochimi…

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade