Hai intenzione di partire con un nuovo progetto?

Quante volte nell’entusiasmo iniziale, ci siamo buttati a capofitto nello studio di nuove tecnologie e mirabolanti pattern trovati sul web?
Fino a qui niente di sbagliato, ma bisogna farlo in modo accorto, ricordandoci che questo piccolo esperimento, POC o altra diavoleria architettata dovrà essere, prima o poi, portata in produzione.

Sperimentare è fondamentale nella vita di un programmatore, ma è necessario pensare a chi dopo di noi “metterà le mani” sul codice, ed ecco che ci viene in aiuto SOLID KISS.


Single responsability
Open / Closed
Liskov Substitution
Interface segregation
Dependency inversion

In breve, il principio della singola responsabilità afferma che una classe (o qualche altro modulo) dovrebbe avere una sola responsabilità, cioè una ragione per cambiare. Open / Closed indica che le entità software devono essere aperte per l’estensione, ma chiuse per la modifica. Secondo il principio di sostituzione di Liskov, gli oggetti in un programma dovrebbero essere sostituibili con le istanze dei loro sottotipi senza alterare la correttezza di quel programma. Il principio di segregazione dell’interfaccia afferma che molte interfacce specifiche del cliente sono migliori di un’interfaccia di uso generale e che il principio di inversione di dipendenza potrebbe essere riassunto in questa frase:

“Fai dipendere dalle astrazioni. Non far dipendere dalle classi concrete “.

 

Tratto da Michael Feathers /Robert Cecil Martins – “First Five Principles”

Kiss invece è una terminologia che non si riferisce soltanto all’ambito informatico, in generale serve a ricordarci sempre che anche quando si effettua un refactor o si progetta una soluzione è buona norma cercare di fare le cose in maniera semplice e manutenibile.

Certo, questa è solo teoria ed è molto, molto difficile trovare sempre situazioni in cui tutto possa seguire tali principi. Però di spunti ce ne sono tanti e il vaso di pandora nel mondo dell’informatica è perennemente scoperchiato, sta a noi affrontare le conseguenze con un po’ di creatività e un po’ di disciplina.