A proposito delle Best Practice

Cover image

Ma a cosa servono le Best Practice?

Se ne sente parlare sempre più spesso, in ogni campo: da quello informatico all'ingegneria in ogni suo aspetto, spesso a sproposito e spesso perdendo la mira durante i processi per cui si adottano le fantomatiche Best Practice.

Il punto fondamentale, da tenere sempre presente è che una pratica, per essere Best Practice, deve essere ragionevole (e piano piano allenerete il senso di praticità che vi permetterà di esercitare il giusto discernimento), deve essere abbastanza generale da poter essere applicata ad ampio spettro, in tanti ambiti, ma abbastanza piccola e contenuta, da poter essere gestita senza troppo sforzo, nemmeno immaginativo; l'obiettivo di lavorare agilmente è ovviamente quello di non farsi male, un po' come le āsana nello yoga: pratiche ben definte, che portano miglioramenti visibili e in tempi misurabili, quindi visualizzabili nella loro interezza e facili da applicare ripetutamente e il più possibile in ogni fase di gestione di un progetto: dall'analisi dei requisiti allo sviluppo dell'applicazione stessa.

La maggior parte dei miei post saranno quindi su questo argomento, che mi ha sempre appassionato, da bravo ingegnere pigro (come ogni buon ingegnere dovrebbe essere ;-), ma esperto (come ogni bravo ingegnere DEVE essere). Sviluppare sempre meglio richiede certamente sforzo, visione e dedizione, mirate ad elevarsi costantemente e ad alzare l'astrazione della pratica passando dal "come faccio a farlo?" al "cosa voglio fare?", fino a raggiungere l'obiettivo finale: il Kaivalya del "No Code Programming" (si, sto cercando di rendermi inutile e lo faccio pure scientemente! Pensa te che genio). Ah! A scanso di equivoci, lo scrivo subito, programmare bene non significa minimamente saper usare bene una IDE di programmazione piuttosto che un'altra a cui affidarsi in maniera acritica, anzi, non ha nemmeno il significato di usare tool no code nel senso di IDE sempre più potenti: sono proprio i linguaggi e le metodologie che si scelgono, i framework e il modo di approcciarsi allo sviluppo che devono puntare alla scrittura di sempre meno codice, più ci avvicianiamo al No Code, più le IDE non devono servire, sono solo un inelegante modo di gestire cose progettate in maniera troppo complessa e con poca modularità (o semplicemente molto giovani, quindi poco strutturate).

Nei prossimi post vedremo insieme il fantastico mondo della meta-programmazione e progettazione, in cui farò largo uso di concetti basilari come: Approccio Pragmatico, KISS&DRY, Data Driven Interaction, Self Containment (aggiungo Through Meta programming) e tutte le Best Practice che in un modo o nell'altro hanno provato sul campo la loro forza permettendo di consegnare software migliore in meno tempo (ovviamente, se sai cosa stai facendo... ok! sembra il classico lancio pubblicitario tipo "La potenza è nulla senza controllo", però, se ci pensate bene, è proprio così).

Per questo vi dico, ricordate la faccina qui sopra, sorride, alla fine di ogni sessione di sviluppo o progettazione dovrete tutti avere quella stessa espressione vacua ed estatica, sapendo di aver prodotto il miglior codice fino a quel momento. :-D

Stay KISS&DRY