Atobit
Atobit

Editor

Code Smell

Nel campo dello sviluppo del software ci si riferisce a puzza di codice o “code smell” per indicare porzioni di codice implementate in modo non ottimizzato. Non sono necessariamente errori, ma parti del software da migliorare.
Questo concetto è spesso utilizzato quando si è in presenza di debito tecnico (del quale abbiamo parlato in uno dei precedenti articoli che puoi leggere qui). Conoscere i code smells è essenziale per garantire un design efficace e flessibile del codice, specialmente quando si lavora in modalità agile. Vi sveliamo dunque una lista dei dieci code smells più comuni da ricercare in fase di refactoring:

  • Commenti: cercare di eliminare commenti inutili e ridondanti, specialmente quelli relativi a parti di codice autodescrittive. Il software deve contenere commenti concisi ed utili alla sua comprensione, è dunque buona norma riflettere su questa documentazione e scriverla adeguatamente.
  • Troppi argomenti: se una funzione risulta avere molti argomenti (per esempio più di 3), allora è bene ripensarla e alleggerirla. L’ideale è mantenere le funzioni senza argomenti, o con il minor numero necessario per arrivare allo scopo, con un massimo ideale di tre.
  • Funzione con scopi multipli: una funzione deve essere dedicata ad un unico obiettivo. Se nel codice sono presenti funzioni che hanno più di uno scopo potremmo avere un problema, è utile in questo caso ripensare e suddividere al meglio il codice, questo rende il software più leggero e comprensibile, abbassandone la complessità.
  • Inconsistenza: questo code smell è purtroppo molto diffuso, specialmente quando si lavora in più persone sullo stesso codice. L’inconsistenza rende difficile la lettura del software, portando spesso a potenziali incomprensioni. È utile in questi casi definire e concordare delle convenzioni, che andranno mantenute durante lo sviluppo ed il mantenimento del progetto.
  • Duplicazione: non è raro trovare all’interno del progetto segmenti di codice ripetuti, anche in modo identico, più e più volte. Anche in questo caso è necessaria un’ottima coordinazione di tutto il team di lavoro per eliminare questa fastidiosa complessità.
  • Nomi di funzioni e variabili: è buona norma nominare le funzioni che si creano descrivendole attraverso il loro scopo, in modo da rendere immediatamente chiaro a cosa servano. Lo stesso vale per le variabili, il cui nome deve descrivere in modo appropriato il contenuto, usare nomi di fantasia, singole lettere o incomprensibili abbreviazioni rende più difficile l’utilizzo delle variabili e richiede tempo aggiuntivo per risalire al loro contenuto.
  • Variabili o funzioni inutili: per mantenere il codice pulito e ordinato è consigliato eliminare tutte le funzioni o variabili che non vengono utilizzate. La loro presenza può essere legata a cambiamenti di codice o più semplicemente dimenticanze, essendo però completamente inutili vanno eliminate.
  • Verifica del valore null: si tratta di diminuire il più possibile, fino ad azzerare tutti i controlli sui valori nulli. Questi controlli sono superflui all’interno del codice, poiché per garantire una gestione corretta ed efficace nessuna funzione dovrebbe restituire il valore null in risposta.
  • Metodo pecora nera: il metodo in questione è uno dei metodi di una classe che si discosta in modo significativo da tutti gli altri presenti all’interno della classe stessa, diventando quindi la pecora nera. In questo caso è probabile che questa funzionalità debba essere modificata o spostata dalla classe, per rispettare il principio di singola responsabilità delle classi (SRP).
  • Codice commentato: chi lavora al software ha sicuramente trovato primo a dopo parti di codice commentante, che risultano dunque completamente inutili. Questa casistica descrive molto bene il termine code smell, queste parti commentante infatti possono ristagnare per anni, ammuffire nel codice e appesantirlo senza dare alcun apporto utile, è proprio qui che nasce la puzza. Il consiglio è semplice in questo caso: cancellare! Se quel codice dovesse risultare utile in futuro si potrà sempre usare il controllo di versione per ripristinarlo.

Siamo una squadra di esperti e appassionati del codice e dello sviluppo. Soprattutto, ci piace curare ogni progetto, ponendo la massima attenzione non solo al risultato finale, ma a tutto il percorso. Contattaci per una consulenza, un preventivo o un semplice confronto. Condividere per noi è un momento di crescita, Siamo umana e professionale. Restiamo in contatto!

  • Software
  • Coding

Condividi l'articolo

Leggi altri articoli

Il mondo IT è sofisticato, lo sappiamo.

Bisogno di aiuto?

Scrivici per una consulenza gratuita.