Il naming nell'era dell'AI
22 marzo 2026

C'è una vecchia battuta secondo cui i due problemi più difficili in informatica sono l'invalidazione della cache, dare i nomi alle cose, e gli errori off-by-one. La battuta è sopravvissuta perché la parte sul naming è vera in un modo in cui le altre due non lo sono — non è tecnicamente difficile, è solo persistentemente sottovalutata.
Ho iniziato a pensare al naming in modo diverso da quando lavoro regolarmente con strumenti di coding AI. La posta in gioco è più alta di quanto fosse.
I nomi sono l'interfaccia dell'intento
Una funzione chiamata getData non ti dice quasi niente. Una funzione chiamata getActiveBookingsForBarber ti dice il dominio, il filtro e l'entità restituita. L'implementazione di entrambe potrebbe essere identica. La superficie semantica è completamente diversa.
Per un umano che legge il codice, questa è una comodità. Per uno strumento AI che legge il codice, è il segnale primario. Gli LLM non eseguono il tuo codice. Non ispezionano i tipi a runtime. Leggono identificatori, nomi di funzione, nomi di variabile — e da quelli inferiscono cosa il tuo codice sta cercando di fare. Un codebase ben nominato dà all'AI un contesto accurato. Uno mal nominato gli dà rumore.
Il problema dell'amplificazione
Quando scrivi codice manualmente, i nomi cattivi ti rallentano. Devi ricordare cosa sia temp2, rileggere l'implementazione ogni volta che la tocchi, lasciare commenti che derivano dalla realtà. Il costo è reale ma contenuto.
Con gli strumenti AI, i nomi cattivi si compongono. Se la tua variabile si chiama data, l'AI genererà codice che la chiama data. Se la tua funzione si chiama process, l'AI scriverà altre funzioni chiamate process. L'ambiguità si propaga in avanti attraverso ogni suggerimento, ogni completamento, ogni test generato.
Ho notato questo pattern chiaramente usando Claude Code su un codebase che aveva accumulato debito di naming. I suggerimenti erano coerenti internamente ma privi di significato nel contesto — perché i nomi che avevo dato alle cose non davano all'AI niente a cui ancorarsi. Ripulire i nomi è stata la cosa più efficace che ho fatto prima di continuare.
Prima il nome, poi l'implementazione
La disciplina a cui sono arrivato: nominare la funzione prima di implementarla. Non i parametri, non il tipo di ritorno — solo il nome. Se non riesco a trovare un nome che descriva chiaramente cosa fa la funzione, è un segnale che la funzione non è ancora ben definita.
Questo era utile prima degli strumenti AI. Lo è ancora di più ora, perché un nome chiaro è anche un prompt chiaro. calculateRefundAmount(booking, policy) dice all'AI esattamente cosa implementare. handle(b, p) non gli dice niente. La qualità delle implementazioni generate dall'AI scala direttamente con la qualità dei nomi che gli dai.
Cosa fa davvero un buon nome
Un buon nome rende un commento inutile. Se il nome richiede un commento per spiegarlo, il nome è sbagliato. Non è una preferenza stilistica — è un segnale su quanto bene capisci cosa stai costruendo.
Quando mi ritrovo a scrivere un commento per spiegare una variabile, mi fermo e la rinomino. // timestamp dell'ultima sincronizzazione riuscita diventa lastSyncedAt. // utente che ha creato la prenotazione diventa bookedBy. Il commento scompare. Il significato rimane, permanentemente attaccato alla cosa che descrive.
Questo conta anche per la code review assistita dall'AI. Quando chiedo a Claude Code di rivedere un modulo, la qualità del suo feedback si correla con quanto chiaramente il codice esprime l'intento. I nomi vaghi producono feedback generici. I nomi precisi producono feedback precisi.
Rinominare è il refactoring migliore
Una cosa che ho imparato: rinominare qualcosa è spesso il refactoring a più alto rendimento che puoi fare. Non estrarre funzioni, non riorganizzare file — solo trovare il nome giusto per qualcosa che era mal nominato.
Quando rinomini qualcosa con precisione, il codice correlato spesso diventa ovviamente sbagliato in modi che prima non lo era. Una funzione chiamata saveUser che invia anche un'email di benvenuto diventa un problema quando la rinomini correttamente — perché ora l'invio dell'email è chiaramente fuori posto. Il rename non ha rotto niente. Ha rivelato qualcosa.
Gli strumenti AI rendono questo più facile. Rinomina una funzione, chiedi all'AI di trovare tutti i posti in cui l'assunzione del vecchio nome è incorporata. La parte meccanica è veloce. La parte del pensiero — trovare il nome giusto — è ancora tua.