Diktér code reviews på dit eget sprog
Illustration

Diktér code reviews på dit eget sprog

Kode er engelsk. Dine reviewkommentarer behøver ikke være det. Sådan dikterer du feedback på ét af 25 sprog on-device — og derfor betyder sproglåsen noget.

Teodor Deleanu3. september 20267 min læsetid

Der ligger en stilfærdig antagelse indbygget i det meste udviklerværktøj: koden er på engelsk, så udvikleren må også være det. Nøgleord er engelske. Biblioteksnavne er engelske. Fejlbeskeder er engelske. Og derfor, lyder ræsonnementet, kan diktering for udviklere være engelsk-only, uden at nogen tager skade.

Code review bryder den antagelse med det samme. En reviewkommentar er ikke kode. Det er en sætning rettet til et menneske, og i rigtig mange teams deler det menneske dit modersmål. Et rumænsk team, der laver review på en Rust-service, skriver rumænske kommentarer om engelske identifikatorer. Et polsk team gør det samme på polsk, et tysk team på tysk. Koden forbliver engelsk; samtalen om koden gør ikke.

Diktering er usædvanligt godt til reviewkommentarer, fordi review er en læseaktivitet, og tastning afbryder læsningen. Men det er kun godt, hvis det virker på det sprog, kommentaren rent faktisk er på. Det her indlæg handler om at få det til at virke: hvilke sprog Keebye dækker on-device, hvordan sproglåsen opfører sig, og hvor kanterne er. Vil du have argumentet for, hvorfor noget af det betyder noget, leverer diktering for udviklere burde ikke være engelsk-only det; det her er den praktiske opfølgning.

Hvorfor reviewkommentarer er det ideelle mål for diktering

En reviewkommentar har tre egenskaber, der gør den til et bedre match for stemmen end næsten enhver anden udviklertekst.

Den er kort. De fleste kommentarer er én til tre sætninger. Det er ét åndedrag, ét tryk på genvejstasten, én ytring.

Den er prosa. I modsætning til en commit-besked med et stift format eller en konfigurationsfil med præcis syntaks er en reviewkommentar bare, som du ville forklare problemet højt. "Den her prøver igen for evigt, hvis socketen aldrig svarer; sæt et loft." Den talte og den tastede version er næsten identiske.

Den opstår, mens dine øjne er optaget. Du læser en diff. I det øjeblik du stopper for at taste, mister du dit sted i den. Diktering lader dig læse videre og tale kommentaren ind i det inputfelt, du allerede har klikket i.

Læg så sprogdimensionen oveni. Laver dit team review på polsk, tvinger et engelsk-only dikteringsværktøj dig til et valg: lave review på engelsk (unaturligt, og dine kolleger læser det måske langsommere) eller taste (og miste gevinsten). Ingen af delene var det, du ville.

Hvad Keebye faktisk understøtter

To on-device-engines er relevante her, og det er værd at være præcis om dem.

Standardenginen er engelsk-tunet. Den er hurtig, den er den, de fleste bruger, og den er ikke den, du vil have til en polsk reviewkommentar. Peget mod ikke-engelsk tale producerer den fonetisk plausibel engelsk, som ikke er det, du sagde.

Den anden engine, Canary, dækker præcis 25 sprog: bulgarsk, kroatisk, tjekkisk, dansk, hollandsk, engelsk, estisk, finsk, fransk, tysk, græsk, ungarsk, italiensk, lettisk, litauisk, maltesisk, polsk, portugisisk, rumænsk, russisk, slovakisk, slovensk, spansk, svensk og ukrainsk. Den er et tilvalg, den hentes én gang, og derefter kører den offline som alt andet i Keebye. Ikke hundrede sprog; femogtyve, opremset — og er dit ikke på listen, kan det her indlæg ikke hjælpe dig endnu.

Der er også muligheden for at bruge Apples indbyggede talegenkendelse som engine, hvilket bringer dens egen sprogdækning med på din Mac. Det er en separat vej med andre karakteristika; resten af indlægget handler om Canary.

Lås sproget fast; lad det ikke gætte

Den vigtigste enkeltindstilling for ikke-engelsk review er sproglåsen.

Automatisk registrering lyder som den rigtige standard og er den forkerte for udviklere. Reviewkommentarer er tætpakkede med engelske identifikatorer: funktionsnavne, pakkenavne, ordene "null" og "async" og "callback." En kommentar, der er firs procent rumænsk og tyve procent engelske tokens, giver en sprogdetektor præcis det blandede signal, den håndterer dårligst. Den vender midt i sætningen, eller beslutter at det hele var engelsk, og du får en transskription, der er selvsikkert forkert. Automatisk registrering gætter forkert igen: lås dit sprog fast gennemgår fejlen i detaljer.

Med Canary lader Keebye dig sætte sproget eksplicit. Lås rumænsk fast, og modellen afkoder rumænsk; de engelske identifikatorer inde i din sætning håndteres som låneord frem for som bevis på, at du skiftede sprog. Genkendelse af en usædvanlig identifikator kan stadig være ufuldkommen, men selve sproget holder op med at være et møntkast.

Én adfærdsdetalje er værd at kende: det fastlåste sprog læses for den næste ytring. Skifter du låsen, bruger den diktering, du er ved at lave, den; den, du allerede har sluppet, bliver ikke transskriberet igen. I praksis betyder det: skift først, tal så. Laver du review på to sprog i løbet af dagen, er skiftet billigt. Menulinjen viser en kortliste med 11 sprog til hurtigt skift, og Indstillinger viser alle 25.

En reviewsession, dikteret

Sådan ser en session ud i et team, der laver review på rumænsk.

Du åbner pull requesten. Menulinjen viser allerede rumænsk låst fast fra i går, så der er intet at gøre. Du læser den første fil. Tredje hunk, en retry-løkke uden loft. Klik ind i kommentarfeltet, hold højre ⌘, sig kommentaren på rumænsk, slip. Teksten lander, med "øh" og en falsk start fjernet af den regelbaserede oprydning, og identifikatoren reconnectSocket intakt, fordi du tilføjede den til den brugerdefinerede ordbog for en uge siden.

Næste fil. Den kommentar, du vil efterlade, er et kodeforslag, ikke prosa. Den taster du; at diktere en diff er en dårlig oplevelse på ethvert sprog.

Senere kommer en bidragyder fra et andet team ind i tråden og skriver på engelsk. Du vil svare på engelsk. Klik på menulinjen, vælg engelsk fra kortlisten, og den næste ytring afkodes som engelsk. Svar, og skift så tilbage.

Intet af det kræver et vindue. Keebye bliver i menulinjen; genvejstasten virker i den app, der har fokus, uanset om det er en browserfane med reviewet, en Git-klient på skrivebordet eller en terminal, der kører et CLI-reviewværktøj.

Ærlige begrænsninger

Femogtyve sprog, ikke dem alle. Laver du review på tyrkisk, japansk, arabisk eller et hvilket som helst sprog uden for Canary-listen, dækker den anden engine det ikke. Apples indbyggede engine gør det måske, afhængigt af dit systems sprogunderstøttelse, men det er en anden engine med en anden adfærd.

Kortlisten i menulinjen er på elleve. Engelsk, rumænsk, fransk, tysk, spansk, italiensk, portugisisk, hollandsk, polsk, russisk og ukrainsk er to klik væk. De øvrige fjorten ligger i Indstillinger. Er dit daglige par for eksempel tjekkisk og finsk, går den ene side gennem Indstillinger.

Identifikatorer er stadig identifikatorer. En talemodel kæmper med snake_case_names på ethvert sprog. Ordbogen hjælper med de tilbagevendende; resten retter du i hånden. Læs kommentaren, før du poster den.

Ingen live transskription. Canary transskriberer, når du slipper tasten, som én batch. Du ser ikke ord, mens du siger dem. Til en reviewkommentar på én til tre sætninger er det knap nok mærkbart.

Finpudsningen er tilvalgt og bogstavelig som standard. Slår du den lokale LLM-finpudsning on-device til, rydder den op i sætningsstrukturen, og en trofasthedskontrol falder tilbage til den rå transskription, når outputtet viser alvorligt tokentab, opsvulmning eller gentagelse. Den kontrol er en heuristik; den tjekker ikke, at din betydning overlevede. Til reviewkommentarer, hvor en vendt benægtelse ændrer dommen, holder de fleste finpudsningen slået fra og lader den regelbaserede oprydning gøre arbejdet.

Hvor det passer ind

Er sproglåsen den funktion, du går mest op i, sammenligner Keebye vs Wispr Flow de to på, hvor talegenkendelsen kører, og hvordan sprog håndteres — også hvor Wispr Flow passer bedre. Til det bredere spørgsmål om diktering, mens hænderne er på diffen, dækker udviklerguiden hverdagen, og Mac-guiden dækker opsætningen.

Antagelsen om, at udviklere kun taler engelsk, har aldrig været sand. Den var bare bekvem for værktøjerne. At lave review på sit eget sprog, med stemmen, med tale der aldrig forlader ens maskine, er ikke en nicheanmodning. Det er, hvad en stor del af de mennesker, der skriver software, ville gøre, hvis værktøjet lod dem.

Lav review på det sprog, du tænker på

Start din gratis prøveperiode, lås dit sprog fast, og diktér én reviewkommentar, sådan som du ville sige den til en kollega.

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.

Læs videre