Tommaso Izzo – Refactoring

Riflessione sul lavoro fatto

Per questo esercizio ho rifatto il codice della mia T e I, passando dalle coordinate scritte a mano a push(), translate() e pop(). Ho dovuto ricalcolare tutte le coordinate perché translate() non sposta il disegno, sposta l’origine (il punto 0,0): se lascio le coordinate vecchie (pensate rispetto all’angolo del canvas) e sposto anche l’origine, il disegno finisce nel posto sbagliato. Per questo ogni coordinata va ricalcolata come distanza dal nuovo punto di riferimento, sottraendo il punto di ancoraggio scelto da ogni coordinata originale. Ho scelto di fare così perché mi sembrava più comodo per eventuali riduzioni di scala o rotazioni future: avendo l’origine dentro la forma stessa, se un domani volessi ruotarla o rimpicciolirla mi basterebbe agire su quel punto invece che ricalcolare tutto di nuovo.

Riflessione critica

L’interazione con l’AI-Tutor è stata utile, mi ha sbloccato soprattutto sulla logica di translate(): prima pensavo servisse solo a “spostare il disegno”, non avevo capito che sposta l’origine e che per questo bisogna ricalcolare le coordinate.

Non ho riscontrato vere e proprie allucinazioni (funzioni inventate o inesistenti), solo un piccolo passaggio da chiarire meglio su un dettaglio spiegato durante il lavoro, poi sistemato subito.

Mi sento abbastanza proprietario del codice finale: ho seguito e capito il ragionamento dietro ogni passaggio, dalla scelta del punto di ancoraggio fino al calcolo delle nuove coordinate, non ho solo copiato quello che veniva fuori.

Commenti

Lascia un commento