Thursday Feb 03, 2022

Software Design Principles DRY and KISS

In questo articolo, esplorerò i principi di progettazione del software e i loro benefici, perché i principi di progettazione sono utili per noi, e come implementarli nella nostra programmazione quotidiana. Esploreremo i principi di design del software DRY e KISS.

Il principio DRY: Don’t Repeat Yourself

DRY sta per “Don’t Repeat Yourself”, un principio di base dello sviluppo del software volto a ridurre la ripetizione delle informazioni. Il principio DRY è dichiarato come: “Ogni pezzo di conoscenza o logica deve avere una singola rappresentazione non ambigua all’interno di un sistema.”

Violazioni di DRY

“Ci piace digitare” (o “Perdere il tempo di tutti”): “Ci piace scrivere” significa scrivere sempre lo stesso codice o la stessa logica. Sarà difficile gestire il codice e se la logica cambia, allora dobbiamo fare cambiamenti in tutti i posti dove abbiamo scritto il codice, perdendo così il tempo di tutti.

Come ottenere DRY

Per evitare di violare il principio DRY, dividete il vostro sistema in pezzi. Dividete il vostro codice e la vostra logica in unità riutilizzabili più piccole e usate quel codice chiamandolo dove volete. Non scrivete metodi lunghi, ma dividete la logica e cercate di usare il pezzo esistente nel vostro metodo.

Benefici di DRY

Meno codice è buono: risparmia tempo e fatica, è facile da mantenere, e riduce anche le possibilità di bug.

Un buon esempio del principio DRY è la classe helper nelle librerie aziendali, in cui ogni pezzo di codice è unico nelle librerie e nelle classi helper.

KISS: Keep It Simple, Stupid

Il principio KISS è descrittivo per mantenere il codice semplice e chiaro, rendendolo facile da capire. Dopo tutto, i linguaggi di programmazione sono per gli esseri umani da capire – i computer possono capire solo 0 e 1 – quindi mantenete il codice semplice e diretto. Mantenete i vostri metodi piccoli. Ogni metodo non dovrebbe mai essere più di 40-50 righe.

Ogni metodo dovrebbe risolvere solo un piccolo problema, non molti casi d’uso. Se avete molte condizioni nel metodo, suddividetele in metodi più piccoli. Non solo sarà più facile da leggere e mantenere, ma può aiutare a trovare i bug molto più velocemente.

Violazioni della KISS

Abbiamo tutti probabilmente sperimentato la situazione in cui riceviamo del lavoro da fare in un progetto e troviamo del codice disordinato scritto. Questo ci porta a chiedere perché hanno scritto queste righe inutili. Basta dare un’occhiata ai due frammenti di codice mostrati qui sotto. Entrambi i metodi stanno facendo la stessa cosa. Ora devi decidere quale usare:

public String weekday1(int day) { switch (day) { case 1: return "Monday"; case 2: return "Tuesday"; case 3: return "Wednesday"; case 4: return "Thursday"; case 5: return "Friday"; case 6: return "Saturday"; case 7: return "Sunday"; default: throw new InvalidOperationException("day must be in range 1 to 7"); }}public String weekday2(int day) { if ((day < 1) || (day > 7)) throw new InvalidOperationException("day must be in range 1 to 7"); string days = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; return days;}

Come raggiungere la KISS

Per evitare di violare il principio KISS, prova a scrivere codice semplice. Pensa a molte soluzioni per il tuo problema, poi scegli la migliore, la più semplice e trasformala nel tuo codice. Ogni volta che trovate del codice lungo, dividetelo in più metodi – cliccate con il tasto destro e rifattorizzate nell’editor. Prova a scrivere piccoli blocchi di codice che fanno un singolo compito.

Beneficio del KISS

Se abbiamo una funzionalità scritta da uno sviluppatore ed è stata scritta con un codice disordinato, e se chiediamo ad un altro sviluppatore di fare delle modifiche in quel codice, allora prima, devono capire il codice. Ovviamente, se il codice è scritto in modo semplice, allora non ci sarà alcuna difficoltà nel capire quel codice, e sarà anche facile da modificare.

Sommario

Mentre scrivi qualsiasi codice o modulo, tieni a mente i principi di progettazione del software e usali saggiamente, rendili una tua abitudine così non avrai bisogno di ricordarli ogni volta. Risparmierà tempo di sviluppo e renderà il vostro modulo software robusto, che potrebbe essere facile da mantenere ed estendere.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Back to Top