Detta le review del codice nella tua lingua
Illustrazione

Detta le review del codice nella tua lingua

Il codice è in inglese. I tuoi commenti di review no. Come dettare feedback di review in una di 25 lingue on-device, e perché fissare la lingua conta.

Teodor Deleanu3 settembre 20268 min di lettura

Nella maggior parte degli strumenti per sviluppatori è cotta dentro un'assunzione silenziosa: il codice è in inglese, quindi lo sviluppatore deve esserlo anche lui. Le parole chiave sono inglesi. I nomi delle librerie sono inglesi. I messaggi di errore sono inglesi. E dunque, prosegue il ragionamento, la dettatura per sviluppatori può essere solo in inglese e a nessuno importerà.

La review del codice rompe quell'assunzione immediatamente. Un commento di review non è codice. È una frase rivolta a una persona, e in moltissimi team quella persona condivide la tua prima lingua. Un team rumeno che rivede un servizio in Rust scrive commenti in rumeno su identificatori inglesi. Un team polacco fa la stessa cosa in polacco, un team tedesco in tedesco. Il codice resta inglese; la conversazione sul codice no.

La dettatura è insolitamente adatta ai commenti di review, perché fare review è un'attività di lettura e digitare interrompe la lettura. Ma è adatta solo se funziona nella lingua in cui il commento è davvero scritto. Questo articolo parla di come farlo funzionare: quali lingue Keebye copre on-device, come si comporta il fissaggio della lingua e dove sono i bordi. Se vuoi la tesi sul perché tutto questo conta, la trovi in perché la dettatura per sviluppatori non dovrebbe essere solo in inglese; questo è il seguito pratico.

Perché i commenti di review sono il bersaglio ideale della dettatura

Un commento di review ha tre proprietà che lo rendono più adatto alla voce di quasi ogni altro testo che scrive uno sviluppatore.

È breve. La maggior parte dei commenti sta in una o tre frasi. È un respiro, una pressione tenuta della hotkey, un enunciato.

È prosa. A differenza di un messaggio di commit dal formato rigido o di un file di configurazione dalla sintassi esatta, un commento di review è semplicemente come spiegheresti il problema a voce alta. «Questo riprova all'infinito se il socket non risponde mai; mettici un limite.» Le versioni parlata e digitata sono quasi identiche.

Arriva mentre i tuoi occhi sono occupati. Stai leggendo un diff. Nel momento in cui ti fermi per digitare, perdi il punto in cui eri. Dettare ti lascia continuare a leggere e dire il commento nel campo su cui hai già cliccato.

Adesso aggiungi la dimensione della lingua. Se il tuo team fa le review in polacco, uno strumento di dettatura solo in inglese impone una scelta: fare review in inglese (innaturale, e i tuoi colleghi magari lo leggono più lentamente) o digitare (perdendo il vantaggio). Nessuna delle due era quello che volevi.

Cosa supporta davvero Keebye

Qui contano due motori on-device, e vale la pena essere precisi su entrambi.

Il motore predefinito è tarato sull'inglese. È veloce, è quello che usa la maggior parte delle persone, e non è quello che vuoi per un commento di review in polacco. Puntato su parlato non inglese, produrrà un inglese foneticamente plausibile che non è ciò che hai detto.

Il secondo motore, Canary, copre esattamente 25 lingue: bulgaro, croato, ceco, danese, olandese, inglese, estone, finlandese, francese, tedesco, greco, ungherese, italiano, lettone, lituano, maltese, polacco, portoghese, rumeno, russo, slovacco, sloveno, spagnolo, svedese e ucraino. È opzionale, si scarica una volta, e da lì in poi gira offline come tutto il resto in Keebye. Non cento lingue; venticinque, elencate — e se la tua non è nell'elenco, questo articolo non può ancora aiutarti.

C'è anche la possibilità di usare il riconoscimento vocale nativo di Apple come motore, che porta la propria copertura linguistica sul tuo Mac. È un percorso separato con caratteristiche diverse; il resto di questo articolo parla di Canary.

Fissa la lingua; non lasciarla indovinare

L'impostazione più importante per le review non in inglese è il fissaggio della lingua.

Il rilevamento automatico sembra il valore predefinito giusto ed è quello sbagliato per chi sviluppa. I commenti di review sono densi di identificatori inglesi: nomi di funzioni, nomi di pacchetti, le parole «null», «async» e «callback». Un commento all'ottanta per cento in rumeno e al venti per cento fatto di token inglesi dà a un rilevatore di lingua esattamente il segnale misto che gestisce peggio. Cambierà a metà frase, o deciderà che era tutto inglese, e otterrai una trascrizione sbagliata con grande sicurezza. Fissa la lingua di dettatura percorre il guasto nel dettaglio.

Con Canary, Keebye ti lascia impostare la lingua esplicitamente. Fissa il rumeno e il modello decodifica rumeno; gli identificatori inglesi dentro la tua frase vengono trattati come prestiti invece che come prova che hai cambiato lingua. Il riconoscimento di un identificatore inusuale può restare imperfetto, ma la lingua stessa smette di essere un lancio di monetina.

Un dettaglio di comportamento che vale la pena conoscere: la lingua fissata viene letta per l'enunciato successivo. Cambia il fissaggio e la dettatura che stai per fare la usa; quella che hai già rilasciato non viene ritrascritta. In pratica significa: cambia, poi parla. Se fai review in due lingue nell'arco della giornata, il cambio costa poco. La barra dei menu espone una selezione rapida di 11 lingue, e le Impostazioni espongono tutte e 25.

Una sessione di review, dettata

Ecco com'è una sessione in un team che fa le review in rumeno.

Apri la pull request. La barra dei menu mostra già il rumeno fissato da ieri, quindi niente da fare. Leggi il primo file. Terzo blocco, un ciclo di retry senza limite. Clic nel campo del commento, tieni premuto ⌘ destro, di' il commento in rumeno, rilascia. Il testo atterra, con un «ehm» e una falsa partenza rimossi dalla pulizia basata su regole, e con l'identificatore reconnectSocket intatto perché l'hai aggiunto al dizionario personalizzato una settimana fa.

File successivo. Il commento che vuoi lasciare è un suggerimento di codice, non prosa. Quello lo digiti; dettare un diff è una brutta esperienza in qualunque lingua.

Più tardi, una persona di un altro team entra nel thread e scrive in inglese. Vuoi rispondere in inglese. Clic sulla barra dei menu, scegli l'inglese dalla selezione rapida, e l'enunciato successivo viene decodificato come inglese. Rispondi, poi torna indietro.

Niente di tutto questo ha bisogno di una finestra. Keebye resta nella barra dei menu; la hotkey funziona nell'app che ha il focus, sia una scheda del browser con la review, un client Git da desktop o un terminale con uno strumento di review da CLI.

Limiti onesti

Venticinque lingue, non tutte. Se fai review in turco, giapponese, arabo o in qualunque lingua fuori dall'elenco di Canary, il secondo motore non la copre. Il motore nativo di Apple magari sì, a seconda del supporto linguistico del tuo sistema, ma è un motore diverso con un comportamento diverso.

La selezione rapida è di undici. Inglese, rumeno, francese, tedesco, spagnolo, italiano, portoghese, olandese, polacco, russo e ucraino sono a due clic. Le altre quattordici stanno nelle Impostazioni. Se la tua coppia quotidiana include, poniamo, il ceco e il finlandese, un lato passa dalle Impostazioni.

Gli identificatori restano identificatori. Un modello vocale, in qualsiasi lingua, fatica con gli snake_case_names. Il dizionario aiuta con quelli ricorrenti; il resto lo correggi a mano. Rileggi il commento prima di pubblicarlo.

Nessuna trascrizione dal vivo. Canary trascrive al rilascio del tasto, in un unico batch. Non vedrai le parole mentre le dici. Per un commento di review lungo una o tre frasi, si nota a fatica.

La rifinitura è opzionale e letterale per impostazione predefinita. Se attivi la rifinitura con LLM locale on-device, sistema la struttura delle frasi e una guardia di fedeltà ripiega sulla trascrizione grezza quando l'output mostra una perdita grave di token, un'espansione o una ripetizione. Quella guardia è un'euristica; non controlla che il tuo significato sia sopravvissuto. Per i commenti di review, dove una negazione ribaltata cambia il verdetto, la maggior parte tiene la rifinitura spenta e lascia lavorare la pulizia basata su regole.

Dove si colloca

Se il fissaggio della lingua è la funzione che ti interessa di più, Keebye vs Wispr Flow confronta le due su dove gira il riconoscimento vocale e su come viene gestita la lingua, incluso dove Wispr Flow va meglio. Per il caso più ampio della dettatura con le mani sul diff, la guida per sviluppatori copre il quotidiano, e la guida per Mac copre l'installazione.

L'assunzione che gli sviluppatori parlino solo inglese non è mai stata vera. Era solo comoda per gli strumenti. Fare review nella propria lingua, a voce, con un riconoscimento vocale che non lascia mai la tua macchina, non è una richiesta di nicchia. È quello che farebbe una larga parte delle persone che scrivono software, se gli strumenti lo permettessero.

Fai le review nella lingua in cui pensi

Inizia la prova gratuita, fissa la tua lingua e detta un commento di review come lo diresti a un collega.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Continua a leggere