Dikter kodegjennomganger på ditt eget språk
Koden er engelsk. Kommentarene dine trenger ikke være det. Slik dikterer du tilbakemeldinger på ett av 25 språk på enheten, og hvorfor språklåsen betyr noe.
Det ligger en stille antakelse bakt inn i det meste av utviklerverktøy: koden er på engelsk, altså må utvikleren være det også. Nøkkelordene er engelske. Bibliotekene heter engelske navn. Feilmeldingene er engelske. Og dermed, sier resonnementet, kan diktering for utviklere være kun engelsk uten at noen bryr seg.
Kodegjennomgang bryter den antakelsen med en gang. En gjennomgangskommentar er ikke kode. Det er en setning rettet til et menneske, og på svært mange team deler det mennesket førstespråk med deg. Et rumensk team som går gjennom en Rust-tjeneste, skriver rumenske kommentarer om engelske identifikatorer. Et polsk team gjør det samme på polsk, et tysk på tysk. Koden forblir engelsk; samtalen om koden gjør det ikke.
Diktering er uvanlig godt egnet for gjennomgangskommentarer, fordi gjennomgang er en leseaktivitet og skriving avbryter lesingen. Men det er bare bra hvis det fungerer på det språket kommentaren faktisk er på. Dette innlegget handler om å få det til: hvilke språk Keebye dekker på enheten, hvordan språklåsen oppfører seg, og hvor kantene går. Vil du ha argumentet for hvorfor noe av dette betyr noe, står det i diktering for utviklere bør ikke være kun på engelsk; dette er den praktiske oppfølgingen.
Hvorfor gjennomgangskommentarer er det ideelle dikteringsmålet
En gjennomgangskommentar har tre egenskaper som gjør den bedre egnet for stemme enn nesten all annen utviklertekst.
Den er kort. De fleste kommentarer er én til tre setninger. Det er én pust, ett hurtigtasttrykk, én ytring.
Den er prosa. I motsetning til en commit-melding med streng form eller en konfigurasjonsfil med eksakt syntaks, er en gjennomgangskommentar bare måten du ville forklart problemet høyt på. «Denne prøver på nytt i det uendelige hvis socketen aldri svarer; sett et tak.» Den muntlige og den skrevne versjonen er nesten identiske.
Den skjer mens øynene er opptatt. Du leser en diff. I det øyeblikket du stopper for å skrive, mister du plassen i den. Diktering lar deg fortsette å lese og si kommentaren inn i boksen du allerede har klikket i.
Legg så til språkdimensjonen. Hvis teamet ditt går gjennom kode på polsk, tvinger et engelskspråklig dikteringsverktøy fram et valg: gjennomgå på engelsk (unaturlig, og kollegene dine leser det kanskje saktere) eller skrive (og miste gevinsten). Ingen av delene var det du ville.
Hva Keebye faktisk støtter
To motorer på enheten betyr noe her, og det er verdt å være presis om dem.
Standardmotoren er engelsktilpasset. Den er rask, den er den de fleste bruker, og den er ikke den du vil ha til en polsk gjennomgangskommentar. Rettet mot ikke-engelsk tale produserer den fonetisk troverdig engelsk som ikke er det du sa.
Den andre motoren, Canary, dekker nøyaktig 25 språk: bulgarsk, kroatisk, tsjekkisk, dansk, nederlandsk, engelsk, estisk, finsk, fransk, tysk, gresk, ungarsk, italiensk, latvisk, litauisk, maltesisk, polsk, portugisisk, rumensk, russisk, slovakisk, slovensk, spansk, svensk og ukrainsk. Den er et tilvalg, den lastes ned én gang, og etter det kjører den frakoblet som alt annet i Keebye. Ikke hundre språk; tjuefem, listet opp, og er ikke ditt på lista, kan dette innlegget ikke hjelpe deg ennå.
Det finnes også et alternativ om å bruke Apples innebygde talegjenkjenning som motor, som tar med sin egen språkdekning på Macen din. Det er en egen vei med andre egenskaper; resten av dette innlegget handler om Canary.
Lås språket; ikke la det gjette
Den enkeltinnstillingen som betyr mest for gjennomgang på andre språk enn engelsk, er språklåsen.
Automatisk gjenkjenning høres ut som riktig standard og er feil standard for utviklere. Gjennomgangskommentarer er tette av engelske identifikatorer: funksjonsnavn, pakkenavn, ordene «null» og «async» og «callback». En kommentar som er åtti prosent rumensk og tjue prosent engelske tokens, gir en språkdetektor akkurat det blandede signalet den håndterer dårligst. Den vil vippe midt i setningen, eller bestemme at hele var engelsk, og du får en transkripsjon som er selvsikkert feil. Lås dikteringsspråket ditt går gjennom sammenbruddet i detalj.
Med Canary lar Keebye deg sette språket eksplisitt. Lås rumensk, og modellen dekoder rumensk; de engelske identifikatorene inne i setningen din behandles som lånord i stedet for som bevis på at du byttet språk. Gjenkjenning av en uvanlig identifikator kan fortsatt bomme, men selve språket slutter å være myntkast.
Én atferdsdetalj det er verdt å kjenne til: det låste språket leses for neste ytring. Endrer du låsen, bruker dikteringen du er i ferd med å gjøre, det nye språket; den du allerede har sluppet, blir ikke transkribert på nytt. I praksis betyr det: bytt, så snakk. Går du gjennom kode på to språk i løpet av dagen, er byttet billig. Menylinjeikonet viser en kortliste på 11 språk for raske bytter, og Innstillinger viser alle 25.
En gjennomgangsøkt, diktert
Slik ser en økt ut på et team som går gjennom kode på rumensk.
Du åpner pull-forespørselen. Ikonet viser allerede rumensk låst fra i går, så det er ingenting å gjøre. Du leser den første fila. Tredje hunk, en retry-løkke uten tak. Klikk i kommentarfeltet, hold høyre Command, si kommentaren på rumensk, slipp. Teksten lander, med «øh» og en falsk start fjernet av den regelbaserte oppryddingen, og identifikatoren reconnectSocket intakt fordi du la den i den egendefinerte ordboken for en uke siden.
Neste fil. Kommentaren du vil legge igjen, er et kodeforslag, ikke prosa. Den skriver du; å diktere en diff er en dårlig opplevelse på ethvert språk.
Senere kommer en bidragsyter fra et annet team inn i tråden og skriver på engelsk. Du vil svare på engelsk. Klikk på ikonet, velg engelsk fra kortlisten, og neste ytring dekodes som engelsk. Svar, og bytt så tilbake.
Ingenting av dette trenger et vindu. Keebye blir i menylinjen; hurtigtasten virker i den appen som har fokus, enten det er en nettleserfane med gjennomgangen, en Git-klient på skrivebordet eller en terminal som kjører et CLI-verktøy for gjennomgang.
Ærlige begrensninger
Tjuefem språk, ikke alle. Går du gjennom kode på tyrkisk, japansk, arabisk eller et hvilket som helst språk utenfor Canary-lista, dekker ikke den andre motoren det. Apples innebygde motor gjør det kanskje, avhengig av systemets språkstøtte, men det er en annen motor med annen oppførsel.
Kortlisten i menylinjen er elleve. Engelsk, rumensk, fransk, tysk, spansk, italiensk, portugisisk, nederlandsk, polsk, russisk og ukrainsk ligger to klikk unna. De fjorten andre ligger i Innstillinger. Består ditt daglige par av for eksempel tsjekkisk og finsk, går den ene siden gjennom Innstillinger.
Identifikatorer er fortsatt identifikatorer. En talemodell på ethvert språk sliter med snake_case_names. Ordboken hjelper med de tilbakevendende; resten fikser du for hånd. Les kommentaren før du publiserer den.
Ingen sanntidstranskripsjon. Canary transkriberer når tasten slippes, som én batch. Du ser ikke ord mens du sier dem. For en gjennomgangskommentar på én til tre setninger merkes det knapt.
Poleringen er valgfri, og standarden er bokstavelig. Slår du på poleringen med en lokal LLM på enheten, rydder den setningsstrukturen, og en trofasthetsvakt faller tilbake til rå transkripsjon når resultatet viser alvorlig tokentap, oppblåsing eller gjentakelse. Den vakten er en heuristikk; den sjekker ikke at meningen din overlevde. For gjennomgangskommentarer, der en snudd nektelse endrer konklusjonen, holder de fleste poleringen av og lar den regelbaserte oppryddingen gjøre jobben.
Hvor dette passer inn
Er språklåsen funksjonen du bryr deg mest om, sammenligner Keebye vs Wispr Flow de to på hvor talen kjører og hvordan språk håndteres, inkludert hvor Wispr Flow passer bedre. For det bredere tilfellet med diktering mens hendene er på diffen, dekker utviklerguiden hverdagen, og Mac-guiden dekker oppsettet.
Antakelsen om at utviklere kun snakker engelsk, var aldri sann. Den var bare praktisk for verktøyene. Å gjennomgå kode på sitt eget språk, med stemmen, med tale som aldri forlater maskinen, er ikke en nisjeforespørsel. Det er det en stor andel av dem som skriver programvare, ville gjort hvis verktøyene lot dem.
Gjennomgå på språket du tenker på
Start den gratis prøveperioden, lås språket ditt, og dikter én kommentar slik du ville sagt den til en kollega.
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
Les videre
Automatisk gjenkjenning gjetter feil: fest språket ditt
Lander dikteringen stadig på feil språk? Automatisk gjenkjenning vingler på tospråklig tale ved design. Fest språket ditt én gang, så blir det stående.
Hvorfor diktering for utviklere bør støtte mer enn engelsk
Koden er engelsk; arbeidsdagen er ofte ikke det. Flerspråklig diktering på enheten for Slack-meldinger, gjennomganger og dokumenter på ditt eget språk.
Å diktere prompter til parallelle agenter, lane for lane
Kjører du to eller tre kodeagenter samtidig, blir prompting flaskehalsen. En stemmearbeidsflyt for å mate parallelle lanes uten å forlate den du står i.