Word GRATIS Intermedio

Piano di Refactoring di una Funzione

Per chi deve ripulire una funzione complessa senza romperla: ottieni una diagnosi dei code smell, una sequenza di micro-refactoring sicuri (uno alla volta), il before/after di ogni passo e una checklist di test che garantisce comportamento invariato.

In sintesi

Piano di Refactoring di una Funzione è un template in formato Word pubblicato da Management Academy. Prompt avanzato che diagnostica i code smell di una funzione e genera un piano di refactoring incrementale con before/after, rischio per passo e test a comportamento invariato. Si scarica gratuitamente con un account gratuito.

Aggiornato il 16 agosto 2026 · a cura della faculty di Management Academy

Le versioni di questo template

Piano di Refactoring di una Funzione · Word
Anteprima del template Piano di Refactoring di una Funzione in formato Word

Cosa contiene il template Piano di Refactoring di una Funzione

  • Contesto — la funzione, la sua dimensione, chi la chiama, la copertura di prove attuale e il costo dell'inazione: è la parte che rende l'elemento stimabile.
  • Diagnosi — la tabella dei difetti di struttura con posizione precisa, perché costano e gravità, ordinati per priorità di intervento.
  • Invarianti — l'elenco esplicito di ciò che non deve cambiare: valore restituito, firma pubblica, comportamento con dati non validi, effetti collaterali, prestazioni.
  • Rete di sicurezza — i test di caratterizzazione da scrivere prima di toccare il codice, con il risultato che la funzione dà oggi e non quello che dovrebbe dare.
  • Passi atomici — la sequenza ordinata per rischio crescente: che cosa si fa, il prima e il dopo, come si verifica, e perché ogni passo si invia da solo.
  • Regole di esecuzione — un passo per invio, prove prima e dopo, nessuna correzione dentro un passo, e la libertà di fermarsi a metà lasciando il codice migliore di prima.
  • Difetti sospetti — ciò che durante la diagnosi sembra un errore vero, con la conseguenza possibile e il destinatario: si segnalano, non si risolvono qui.
  • Criteri di completamento — quando il lavoro è finito, in modo verificabile e non a sensazione.
  • Se un passo va storto — che cosa fare con prove rosse, comportamento diverso in esercizio, passi più grandi del previsto e conflitti con il lavoro di altri.

Documento Word brandizzato Management Academy, con guida rimovibile, segnaposto e righe di esempio marcate. Strumento di lavoro non legato ad alcuno standard metodologico: le soglie (righe, complessità, livelli di annidamento) le concorda il gruppo che le applica.

Versione standard

È il file pronto da compilare: intestazioni, sezioni obbligatorie e riferimenti metodologici già al loro posto. Usala quando sai cosa scrivere e ti serve solo la struttura corretta.

Scarica per Word

Cos'è e quando si usa

Per chi deve ripulire una funzione complessa senza romperla: ottieni una diagnosi dei code smell, una sequenza di micro-refactoring sicuri (uno alla volta), il before/after di ogni passo e una checklist di test che garantisce comportamento invariato.

Processo
Execution Templates
Fase di progetto
Template Agile e Scrum
Livello
Intermedio

Cosa contiene il file

DIAGNOSI
Funzione: calcolaPrezzoFinale() — 64 righe, complessita ciclomatica ~14.
Code smell rilevati:
| # | Smell | Posizione | Gravita |
|---|-------|-----------|---------|
| 1 | Long Method (64 righe, 4 responsabilita) | intera funzione | Alta |
| 2 | Magic numbers (0.22, 0.1) | righe 18, 27 | Media |
| 3 | Nested conditionals (3 livelli) | righe 30-48 | Media |
| 4 | Nome poco chiaro: $x, $t | righe 12-14 | Bassa |

INVARIANTI DA PRESERVARE: stesso prezzo di output a parita di input; stessa gestione sconto a zero; nessun cambio di firma pubblica.

PIANO DI REFACTORING (passi atomici, rischio crescente)
Passo 0 — Rete di sicurezza | Rischio: nullo
Aggiungi test di caratterizzazione su 5 casi (sconto 0, sconto max, iva inclusa/esclusa, importo 0, negativo).

Passo 1 — Estrai costanti nominate | Rischio: basso
// before
prezzo * 0.22
// after
prezzo * ALIQUOTA_IVA
Verifica: i test del Passo 0 restano verdi.

Passo 2 — Estrai metodo calcolaIva() | Rischio: basso
Sposta righe 18-22 in un metodo privato puro.

Passo 3 — Sostituisci nested if con guard clauses | Rischio: medio
Riduce annidamento da 3 a 1 livello; attenzione all'ordine di valutazione dello sconto.

BUG SOSPETTI (fuori dal refactoring)
- Riga 41: sconto non clampato puo rendere il prezzo negativo. Da verificare con il PO, NON risolvere dentro il refactoring.

Il prompt che lo genera sui tuoi dati

Il file qui sopra è pronto da scaricare. Se ti serve compilato sul tuo progetto, incolla questo prompt in un assistente: costruisce lo stesso documento con i tuoi dati.

Prompt completo riservato agli utenti registrati

Registrati gratis per sbloccare il prompt completo e scaricare il file.

Come si usa, passo per passo

  1. Scarica il file e aprilo. Resta editabile: si apre con Excel, Word e PowerPoint, e anche con Google Workspace o LibreOffice.
  2. Compila prima le sezioni obbligatorie. Sono quelle che un committente o un esaminatore guarda per prime: oggetto, responsabili, criteri di accettazione.
  3. Rigenera con il prompt sui tuoi dati. Copia il prompt di questa pagina, incolla il contesto del progetto e ottieni il documento già compilato.
  4. Fai rivedere il risultato. Un documento corretto nel metodo ma scollegato dal progetto non regge alla prima domanda: rileggilo con chi il progetto lo conosce.

Domande frequenti

Il refactoring proposto cambia il comportamento della funzione?

No, per definizione. Il prompt impone refactoring a comportamento invariato (behavior-preserving): ogni passo dichiara cosa NON deve cambiare e include come verificarlo. Eventuali bug scoperti durante la diagnosi vengono segnalati a parte, separati dai passi di refactoring.

Perche il piano e a passi piccoli invece di una riscrittura unica?

Perche i micro-refactoring incrementali sono verificabili e reversibili: se un passo introduce un problema, sai esattamente quale. Il formato spezza il lavoro in passi atomici ordinati per rischio crescente, ciascuno committabile da solo.

Funziona se non ho ancora i test sulla funzione?

Si, e in quel caso il primo passo del piano sara proprio aggiungere test di caratterizzazione che fissano il comportamento attuale, cosi i refactoring successivi sono protetti. Il prompt lo prevede esplicitamente.