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
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
- 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.
Agisci come sviluppatore senior esperto di codice legacy e di refactoring a comportamento invariato. Aiutami a trasformare in italiano una funzione difficile da mantenere in un piano di lavoro che si...
🔒
Prompt completo riservato agli utenti registrati
Registrati gratis per sbloccare il prompt completo e scaricare il file.
Come si usa, passo per passo
-
Scarica il file e aprilo.
Resta editabile: si apre con Excel, Word e PowerPoint, e anche con
Google Workspace o LibreOffice.
-
Compila prima le sezioni obbligatorie.
Sono quelle che un committente o un esaminatore guarda per prime:
oggetto, responsabili, criteri di accettazione.
-
Rigenera con il prompt sui tuoi dati.
Copia il prompt di questa pagina, incolla il contesto del progetto e
ottieni il documento già compilato.
-
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.