Programmering med stemmen: kode, review og commits

Programmering med stemmen — udviklerens hænder og en mikrofon over tastaturet

"Programmering med stemmen" lyder som regel som en farce. Den der video fra 2017, hvor en udvikler råber "open paren if foo equals equals null close paren", er et meme, ikke en arbejdsgang. Jeg troede også længe, at den idé var død.

Commander Flow ændrede mit synspunkt. Ikke fordi det tilføjede en magisk "kode-dikteringstilstand". Men fordi kode er ikke kun kode. Kode er commits, tickets, code-review, dokumentation, kommentarer, navne, chats med kolleger. Og alt det rundt om koden — har jeg nu med stemmen.

Hvor stemmen reelt ændrer livet for en udvikler

Min hyppigste stemmeoperation er commit-beskeder. Jeg sætter markøren i git commit -m "...", holder tasten nede, siger noget i retning af "fixede race condition i pipeline-annullering, tokenen annulleres korrekt ved gentagent tryk på genvejstasten", og i terminalen lander en færdig besked efter conventional commits, fordi jeg én gang har sat reglerne fast med stemmen — og de blev husket.

PR-beskrivelser er næsten det samme, bare længere. Jeg åbner GitHubs PR-skabelon, dikterer som om jeg forklarer det til en juniorudvikler — hvad der ændres, hvorfor, hvad vi ikke rører, hvordan man tester. Et par sekunder senere får jeg en pæn markdown med overskrifter ## Context, ## Changes, ## Test plan. Tidligere tog det fem minutter, nu — sekunder.

Det vigtigste, der vendte rundt for mig, er code-review-kommentarer. Jeg var doven med at skrive udførlige reviews: for meget tasteskriving for noget, folk læser og glemmer. Nu markerer jeg en linje, dikterer tanken med stemmen, får en klar poleret kommentar på et par sekunder. Mine reviews er blevet betydeligt længere og mærkbart mere brugbare, og teamet ser det.

En kategori for sig — dokumentation. Den mest smertefulde del af faget. Jeg dikterer en docstring, som jeg ville forklare det til en kollega, og Commander Flow bringer det til stilen XML-doc, TSDoc eller markdown — afhængigt af projektets sprog. Dokumentation er holdt op med at være den skat, jeg betaler oven på koden.

"Jeg skriver ikke kode med stemmen. Jeg skriver alt omkring koden med stemmen. Og forstod, at det er halvdelen af mit arbejde."

code-comments-tilstanden: en separat ting, jeg elsker

CODE-COMMENTS · HVAD DEN GØR Rører ikke ved identifikatorer på latin Subscription.IsActive, BillingService, Span<T> Bevarer termer som de er skrevet kubectl, async/await, useEffect, OAuth Tilføjer ikke høflige fraser ingen "kære læsere" i kodekommentarer Håndterer to alfabeter korrekt "tjek at Subscription.IsActive"
Uden en tydelig stemmekommando "som en kode-kommentar" "forædler" enhver LLM nogle gange en teknisk kommentar til prosa.

Derfor siger jeg bare med stemmen "lad det stå som en kode-kommentar" — og Commander Flow:

  • Rører ikke ved identifikatorer på latin (variabelnavne, klassenavne)
  • Bevarer termer (kubectl, async/await, useEffect, OAuth) i deres oprindelige skrivemåde
  • Tilføjer ikke "ekstra" høflige vendinger (ingen skriver alligevel "kære læsere" i kodekommentarer)
  • Håndterer korrekt begge alfabeter i én kommentar: // tjek at Subscription.IsActive før kald af BillingService.Refresh

Det lyder som en lille ting. Men uden det stemmehint "forædlede" tidlige alfa-builds nogle gange min tekniske kommentar til "lad os tjekke, om vores forretningsobjekt for abonnementet er korrekt".

Termordbogen — en undervurderet funktion

I PolishOptions.Dictionary kaster jeg mine egne termer og forkortelser. Jeg har der:

  • kubectl, helm, argocd, flux
  • IDictionary, IAsyncEnumerable, Span<T>
  • ConfigureAwait(false) (samlet som frase — så LLM ikke skriver det om)
  • Firma-forkortelser, navne på interne tjenester

Efter det holder LLM op med at "forbedre" specifikke termer og lader dem stå præcis som jeg har dem.

Scenariet, der overbeviser mig hver dag

DEN RIGTIGE FORDELING MED TASTATUR if (x != null && y != null) logik, navne, præcise konstruktioner ~30% af tiden i IDE MED STEMMEN // forklaring af hvorfor tjekket er der commits, PR'er, reviews, docs, chat ~70% "rundt om koden"
Logikken — med fingrene. Alt det menneskelige rundt om logikken — med stemmen.

10:30, jeg er i IDE, ved siden af team-chatten, ved siden af Linear med en ticket. Jeg holder genvejstasten og siger:

"Trak retry-logikken ud i en separat klasse RetryPolicy med eksponentiel backoff, tilføjede tests, tjek lige sequence diagram i ticket'en før merge"

Det ryger ind i Linear som kommentar til ticketen. Derefter — Alt+Tab til Slack, samme genvejstast:

"team, jeg har sendt PR'en til review, ikke blokerende men gerne i dag"

I Slack-stil, små bogstaver, uden "kære kolleger". Derefter — tilbage til IDE.

Tre handlinger i tre apps, alt med stemmen, ingen fingre.

Hvor jeg snublede

Tegnsætning i kode, der dukker op i dikteringen. Hvis jeg dikterer en passage "denne funktion returnerer Task<bool>", "tror" LLM nogle gange, at Task<bool> er HTML og forsøger at escape det. Løst ved at tilføje termen til ordbogen, men de første gange overraskede det.

Konflikter med IDE-genvejstaster. Min IDE har sine egne hotkeys. Commander Flows genvejstast måtte omtildeles et par gange, så den ikke kolliderede. Nu sidder den på Caps Lock — den mest praktiske og sjældent brugte tast. En lille uvane, løst med ét klik i indstillingerne.

De tungeste tilstande kan "tænke" lidt langsommere i IDE. For en mail er ekstra millisekunder ikke mærkbare. For en kommentar i koden "her og nu" — det er de. Jeg skiftede til mellemtilstanden på arbejdslaptoppen og beholdt den mest kraftige til desktoppen med dedikeret grafikkort. Latensen forsvandt.

Det, jeg har forstået om lyd som programmeringsinterface

Stemmen erstatter ikke tastaturet i IDE. Den supplerer det dér, hvor tastaturet var det dårligste værktøj. At taste if (x != null && y != null) — tastatur. At forklare, hvorfor dette tjek er nødvendigt her — stemme.

Mellem de to opgaver er der en kløft af kognitiv belastning, og de "løses" ikke lige godt med tasteskriving. Jeg er holdt op med at tvinge mig selv til at taste den anden type opgaver. Det er blevet lettere.

Det, jeg har taget med fra denne fordeling

Programmering med stemmen er ikke "diktering af kode". Det er et skift i, hvad du præcis gør med stemmen. Logik skriver du med fingrene, alt det menneskelige rundt om logikken — med stemmen.

I ti år i faget har jeg ikke fundet en behageligere fordeling.

Prøv det selv

Download Commander Flow og hold Caps Lock nede i enhver app. Genkendelsen kører lokalt, uden sky — gratis prøveperiode inkluderet.

Download gratis

Lignende historier

Alle artikler