Blogg

Röstprogrammering: Skriv dokumentation och kommentarer genom att tala

Myten om röstprogrammering

När utvecklare hör "röstprogrammering" bildar de flesta en bild av någon som dikterar Python-syntax högt: "def mellanslag beräkna understreckning totalt öppna parantes objekt stäng parantes kolon..." Det är inte röstprogrammering. Det är tortyr.

Verklig röstprogrammering handlar inte om att ersätta tangentbordsinmatning för syntax. Det handlar om att använda din röst för en stor del av mjukvaruutveckling som är naturligt språk: dokumentation, kommentarer, commit-meddelanden, PR-beskrivningar, uppgiftsuppdelningar, Slack-uppdateringar och kodgranskningar.

Andelen naturligt språk till syntax i det mesta utvecklingsarbete är högre än de flesta utvecklare inser. En grundlig utvecklare kan tillbringa:

  • 20% skrivande kod
  • 30% skrivande dokumentation och kommentarer
  • 15% skrivande problemöversikter och PR-innehål
  • 20% i Slack, e-post och möten
  • 15% på kodgranskning och planering

Det är 80% av arbetet där röstinmatning är antingen snabbare än att skriva eller lika effektiv. De 20% som är faktisk syntax stannar på tangentbordet.

Vad du ska dikterar som utvecklare

Kodkommentarer

Kommentarer är ren naturligt språk. Att skriva en tydlig kommentar som förklarar varför en funktion finns, vilka kantfall den hanterar eller vad anroparen bör veta är lättare att tala än skriva.

Arbetsflödet: Navigera till kommentarplatsen i din redigerare, tryck på snabbtangenten, tala förklaringen, släpp. Rent läge tar bort fyllord och producerar ren prosa.

Exempel: Tryck snabbtangent, tala "denna funktion hanterar kantfallet där användartoken är utgånget men uppdateringstoken fortfarande är giltig, den försöker en uppdatering och tvingar sedan en utloggning om det också misslyckas, anroparen bör hantera AuthenticationError," släpp. Kommentaren visas formaterad och ren.

Dokumentation och README

README-filer, API-dokumentation och inline JSDoc/docstring-kommentarer är exakt där röstinmatning utmärker sig. Du skriver för en mänsklig läsare på naturlig prosa — samma sak du skulle säga om någon bad dig förklara koden.

Att tala om en funktions dokumentation medan du tittar på koden producerar bättre dokumentation än att skriva det. Du beskriver vad du ser naturligt, utan friktionen att översätta tanke till tangenttryckningar.

Commit-meddelanden

Goda commit-meddelanden är kort prosa: vad som ändrades och varför. Att tala ett commit-meddelande är snabbare än att skriva ett, och rent läge säkerställer att det läses väl.

Pull Request-beskrivningar

PR-beskrivningar — problem, lösning, testplan, reviewer-anteckningar — är exakt den slags strukturerat innehål som Telvrs berikningslägen hanterar väl. Dev Task-läget producerar denna struktur av sig själv.

Exempel: Tryck snabbtangent, växla till Dev Task-läge, tala "fixad racingvillkoret i betalningsflödet, problemet var två samtidiga begäranden kunde både kontrollera saldot före någon av dem drog av den, lade till en databasklass-radlås runt transaktionen, lade till ett test som spawnar två samtidiga betalningsförsök," släpp. Resultatet är en strukturerad PR-beskrivning med problem, lösning och testningsanteckningar.

Problemöversikter och biljettbeskrivningar

Att skriva en detaljerad felrapport eller funktionsspecifikation genom att skriva är tråkig. Att tala den naturligt medan du tittar på problemet är snabbare och producerar ofta mer grundliga beskrivningar för att du inte slåss med den mekaniska överflödigheten av att skriva.

Slack och teamuppdateringar

Framsteguppdateringar, blockerare, standup-sammanfattningar — dessa är konversationella till sin natur. "Jag slutförde auth-omstruktureringen igår, idag arbetar jag på betalningsintegreringen, blockerad på att få testuppgifter för sandlådemiljön, kommer att fråga Sarah." Det är en komplett standup på 15 sekunders tal.

Inställning för utvecklararbetsflöden

Hotkey-konfiguration

Standard Telvr-snabbtangenten (Option + Space på Mac) fungerar väl för utvecklare för att den inte konflikt med de flesta IDE-snabbvägar. Om du föredrar något annat är snabbtangenten konfigurerbar.

Rekommenderad inställning för utvecklare:

  • Håll händerna på hemraden
  • Använd en två-tangents-kombination för att förhindra oavsiktlig aktivering i terminalen
  • Undvik hotkeys som konfliktet med din IDE (kontrollera VS Code eller JetBrains-tangentbordskort)

Lägesval

För utvecklararbetsflöden:

  • Rent läge: Allmänna kommentarer, prosaisk dokumentation, Slack-meddelanden
  • Dev Task-läge: PR-beskrivningar, probleminstruktioner, tekniska kravsammanfattningar
  • Mötesanteckningar-läge: Post-sprint retro-anteckningar, designdiskussionssammanfattningar
  • E-postläge: Kundvändande teknisk kommunikation, statusuppdateringar till icke-tekniska intressenter

IDE-integration

Telvr använder systemomfattande textinmatning, vilket innebär att det fungerar i alla textfält i vilken applikation som helst. Detta inkluderar:

  • VS Code (kodredigerare, integrerad terminal, sökning, kommentarer)
  • JetBrains IDE:er (IntelliJ, WebStorm, PyCharm)
  • Zed, Neovim (när i infogningsläge)
  • Linear, Jira, GitHub (i webbläsare)
  • Terminal (när du anger icke-kommandotext som git commit-meddelanden)

Det finns ingen plugin att installera. Alla rederbara textfält är fair game.

Verkligt utvecklararbetsflöde

Här är vad en utvecklingssession med röstinmatning ser ut i praktiken:

Morgon standup i Slack: Tryck snabbtangent, tala igårs framsteg + dagens plan + blockerare, släpp. Klart på 20 sekunder.

Skrivande kod: Tangentbord. Normalt utvecklingsarbetsflöde.

Lägga till kommentar till en komplex funktion: Navigera till rätt rad, tryck snabbtangent, tala förklaring naturligt, släpp.

Skapa ett GitHub-problem för ett fel: Öppna nytt problem, tryck snabbtangent med Dev Task-läge, beskriv felet och reproduktionsstegen, släpp. Titeln problemet, skicka.

Skriva ett commit-meddelande: git commit i terminal, tryck snabbtangent i redigeraren som öppnas (eller rör till en fil), tala commit-beskrivningen, släpp.

Skriva en PR-beskrivning: Öppna PR-formulär, tryck snabbtangent med Dev Task-läge, förklara vad PR gör och varför, släpp. Lägg till reviewer-anteckningar om behövs.

Svar på en teknisk fråga i Slack: Tryck snabbtangent, förklara det tekniska beslutet eller konceptet högt, släpp. Rent läge producerar en läsbar förklaring utan att behöva skriva noggrant.

Produktivitetsrealiteten

De största vinsterna från röstinmatning i utveckling kommer inte från rå hastighet utan från friktionsminskning. Dokumentation skjuts ofta upp eller hoppas helt över för att skrivningen känns som overhead ovanpå det faktiska arbetet med kodning. När att skriva en kommentar eller docstring tar 15 sekunders tal snarare än 2 minuter av noggrant skrivande sjunker tröskeln för att lägga till det markant.

Bättre dokumenterad kod, mer kompletta PR-beskrivningar och mer grundliga problemrapporter är ofta det praktiska resultatet av utvecklarröstinmatning — inte bara snabbare utförande av samma vanor.

En vecka till en ny vana

Att få röstinmatning i ditt utvecklingsarbetsflöde:

Dag 1: Använd röst bara för Slack-meddelanden. Ingenting annat.

Dag 3: Lägg till commit-meddelanden. Tala beskrivningen i terminalredigeraren.

Dag 5: Lägg till inline-kommentarer. Börja berätta om komplexa funktioner när du slutför skrivandet av dem.

Dag 7: Lägg till PR-beskrivningar med Dev Task-läge. Märker att du skriver mer kompletta beskrivningar än tidigare för att tala är snabbare än att skriva.

Efter två veckor är vanorna etablerade och röstinmatning känns naturlig snarare än ansträngd.