Sanele koodikatselmoinnit omalla kielelläsi
Kuvitus

Sanele koodikatselmoinnit omalla kielelläsi

Koodi on englantia. Katselmointikommenttiesi ei tarvitse olla. Näin sanelet palautetta yhdellä 25 kielestä laitteella — ja miksi kielen kiinnitys ratkaisee.

Teodor Deleanu3. syyskuuta 20266 min lukuaika

Useimpiin kehittäjätyökaluihin on leivottu sisään hiljainen oletus: koodi on englantia, joten kehittäjänkin täytyy olla. Avainsanat ovat englantia. Kirjastojen nimet ovat englantia. Virheilmoitukset ovat englantia. Ja siksi, päättely jatkuu, kehittäjien sanelu voi olla vain englanniksi eikä kukaan pahastu.

Koodikatselmointi rikkoo tuon oletuksen välittömästi. Katselmointikommentti ei ole koodia. Se on ihmiselle osoitettu lause, ja hyvin monessa tiimissä se ihminen puhuu samaa äidinkieltä kuin sinä. Romanialainen tiimi, joka katselmoi Rust-palvelua, kirjoittaa romaniankielisiä kommentteja englanninkielisistä tunnisteista. Puolalainen tiimi tekee saman puolaksi, saksalainen tiimi saksaksi. Koodi pysyy englantina; keskustelu koodista ei.

Sanelu on poikkeuksellisen hyvä katselmointikommentteihin, koska katselmointi on lukemista ja kirjoittaminen keskeyttää lukemisen. Mutta se on hyvä vain jos se toimii sillä kielellä, jolla kommentti oikeasti on. Tämä kirjoitus kertoo, miten se saadaan toimimaan: mitkä kielet Keebye kattaa laitteella, miten kielen kiinnitys käyttäytyy ja missä reunat ovat. Jos haluat perustelun sille, miksi tällä on väliä, kehittäjien sanelun ei pitäisi olla vain englanniksi esittää sen; tämä on käytännön jatko-osa.

Miksi katselmointikommentit ovat ihanteellinen sanelukohde

Katselmointikommentilla on kolme ominaisuutta, jotka tekevät siitä äänelle paremman kohteen kuin lähes mikään muu kehittäjän tuottama teksti.

Se on lyhyt. Useimmat kommentit ovat yhdestä kolmeen lausetta. Se on yksi hengenveto, yksi pikanäppäimen painallus, yksi lausuma.

Se on proosaa. Toisin kuin tiukkamuotoinen commit-viesti tai tarkkaa syntaksia vaativa konfiguraatiotiedosto, katselmointikommentti on vain se, miten selittäisit ongelman ääneen. ”Tämä yrittää loputtomiin, jos soketti ei koskaan vastaa; rajaa se.” Puhuttu ja kirjoitettu versio ovat lähes identtiset.

Se tapahtuu, kun silmäsi ovat varattuina. Luet diffiä. Sillä hetkellä kun pysähdyt kirjoittamaan, menetät paikkasi siinä. Sanelu antaa sinun jatkaa lukemista ja puhua kommentin siihen syötekenttään, johon jo klikkasit.

Lisää nyt kieliulottuvuus. Jos tiimisi katselmoi puolaksi, vain englantia osaava sanelutyökalu pakottaa valintaan: katselmoi englanniksi (epäluontevaa, ja kollegasi saattavat lukea sen hitaammin) tai kirjoita (menetät hyödyn). Kumpikaan ei ollut se mitä halusit.

Mitä Keebye oikeasti tukee

Kaksi laitteella toimivaa moottoria merkitsee tässä, ja niistä kannattaa puhua täsmällisesti.

Oletusmoottori on viritetty englantiin. Se on nopea, se on se jota useimmat käyttävät, eikä se ole se, jonka haluat puolankieliseen katselmointikommenttiin. Ei-englanninkieliseen puheeseen suunnattuna se tuottaa foneettisesti uskottavaa englantia, joka ei ole sitä mitä sanoit.

Toinen moottori, Canary, kattaa tasan 25 kieltä: bulgaria, englanti, espanja, hollanti, italia, kreikka, kroatia, latvia, liettua, malta, portugali, puola, ranska, romania, ruotsi, saksa, slovakki, sloveeni, suomi, tanska, tšekki, ukraina, unkari, venäjä ja viro. Se otetaan käyttöön erikseen, se ladataan kerran, ja sen jälkeen se toimii offline-tilassa kuten kaikki muukin Keebyessä. Ei sataa kieltä; kaksikymmentäviisi, lueteltuina, ja jos omasi ei ole listalla, tämä kirjoitus ei voi vielä auttaa sinua.

Vaihtoehtona on myös käyttää moottorina Applen omaa puheentunnistusta, joka tuo mukanaan oman kielikattavuutensa Macillasi. Se on erillinen polku eri ominaisuuksilla; loppu tästä kirjoituksesta koskee Canarya.

Kiinnitä kieli; älä anna sen arvata

Tärkein yksittäinen asetus ei-englanninkieliselle katselmoinnille on kielen kiinnitys.

Automaattitunnistus kuulostaa oikealta oletukselta ja on kehittäjille väärä. Katselmointikommentit ovat tiheässä englanninkielisiä tunnisteita: funktioiden nimiä, pakettien nimiä, sanoja ”null”, ”async” ja ”callback”. Kommentti, joka on kahdeksankymmentä prosenttia romaniaa ja kaksikymmentä prosenttia englanninkielisiä tokeneita, antaa kielentunnistimelle juuri sen sekasignaalin, jota se käsittelee huonoiten. Se vaihtaa kesken lauseen tai päättää että koko juttu oli englantia, ja saat litteraatin, joka on itsevarmasti väärä. Automaattitunnistus arvaa jatkuvasti väärin: kiinnitä kielesi käy vian läpi yksityiskohtaisesti.

Canaryn kanssa Keebye antaa sinun asettaa kielen eksplisiittisesti. Kiinnitä romania, ja malli dekoodaa romaniaa; lauseesi sisällä olevat englanninkieliset tunnisteet käsitellään lainasanoina eikä todisteena siitä, että vaihdoit kieltä. Epätavallisen tunnisteen tunnistus voi silti olla epätäydellinen, mutta itse kieli lakkaa olemasta kolikonheitto.

Yksi käyttäytymisyksityiskohta kannattaa tietää: kiinnitetty kieli luetaan seuraavaa lausumaa varten. Vaihda kiinnitys, ja seuraavaksi tekemäsi sanelu käyttää sitä; jo vapautettua ei litteroida uudelleen. Käytännössä tämä tarkoittaa: vaihda ensin, puhu sitten. Jos katselmoit päivän aikana kahdella kielellä, vaihto on halpa. Valikkorivin valikko tarjoaa 11 kielen pikalistan nopeaan vaihtoon, ja asetuksissa ovat kaikki 25.

Katselmointi-istunto, saneltuna

Näin istunto näyttää tiimissä, joka katselmoi romaniaksi.

Avaat pull requestin. Valikko näyttää jo eilisestä kiinnitetyn romanian, joten tekemistä ei ole. Luet ensimmäisen tiedoston. Kolmas muutospala, uudelleenyrityssilmukka ilman ylärajaa. Klikkaat kommenttikenttään, pidät oikeaa Commandia pohjassa, sanot kommentin romaniaksi, päästät irti. Teksti laskeutuu, sääntöpohjainen siivous on poistanut ”um”:n ja väärän aloituksen, ja tunniste reconnectSocket on ehjä, koska lisäsit sen omaan sanakirjaan viikko sitten.

Seuraava tiedosto. Kommentti, jonka haluat jättää, on koodiehdotus eikä proosaa. Sen kirjoitat; diffin saneleminen on huono kokemus millä tahansa kielellä.

Myöhemmin toisesta tiimistä liittyy ketjuun avustaja, joka kirjoittaa englanniksi. Haluat vastata englanniksi. Klikkaat valikkoa, valitset pikalistalta englannin, ja seuraava lausuma dekoodataan englantina. Vastaat ja vaihdat takaisin.

Mikään tästä ei vaadi ikkunaa. Keebye pysyy valikkorivillä; pikanäppäin toimii siinä sovelluksessa, jolla on fokus — oli se sitten selainvälilehti katselmoinnin kanssa, työpöydän Git-asiakas tai terminaali, jossa pyörii komentorivipohjainen katselmointityökalu.

Rehelliset rajat

Kaksikymmentäviisi kieltä, ei kaikkia. Jos katselmoit turkiksi, japaniksi, arabiaksi tai millä tahansa Canaryn listan ulkopuolisella kielellä, toinen moottori ei kata sitä. Applen oma moottori saattaa kattaa, riippuen järjestelmäsi kielituesta, mutta se on eri moottori eri käyttäytymisellä.

Pikalistalla on yksitoista. Englanti, romania, ranska, saksa, espanja, italia, portugali, hollanti, puola, venäjä ja ukraina ovat kahden klikkauksen päässä. Loput neljätoista ovat asetuksissa. Jos päivittäinen pariisi on vaikkapa tšekki ja suomi, toinen puoli siitä kulkee asetusten kautta.

Tunnisteet ovat edelleen tunnisteita. Puhemalli millä tahansa kielellä kompuroi snake_case_nimien kanssa. Sanakirja auttaa toistuvien kanssa; loput korjaat käsin. Lue kommentti ennen kuin julkaiset sen.

Ei reaaliaikaista litterointia. Canary litteroi näppäimen vapautuessa, yhtenä eränä. Et näe sanoja sitä mukaa kun sanot ne. Yhdestä kolmeen lauseen katselmointikommentissa tämä tuskin huomataan.

Viimeistely on valinnainen ja oletuksena kirjaimellinen. Jos otat käyttöön laitteella toimivan paikallisen LLM-viimeistelyn, se siistii lauserakennetta, ja tarkkuusvartija perääntyy raakaan litteraattiin, kun tuloste osoittaa vakavaa tokenikatoa, paisumista tai toistoa. Tuo vartija on heuristiikka; se ei tarkista, että merkityksesi säilyi. Katselmointikommenteissa, joissa käännetty kielto muuttaa lopputuloksen, useimmat pitävät viimeistelyn pois päältä ja antavat sääntöpohjaisen siivouksen tehdä työn.

Mihin tämä sijoittuu

Jos kielen kiinnitys on ominaisuus, josta välität eniten, Keebye vs Wispr Flow vertaa näitä kahta sen suhteen, missä puheentunnistus ajetaan ja miten kieltä käsitellään — mukaan lukien se, missä Wispr Flow sopii paremmin. Laajemmasta tapauksesta, jossa sanelet kädet diffissä, kehittäjien opas kertoo arjen ja Mac-opas asennuksen.

Oletus siitä, että kehittäjät osaavat vain englantia, ei ollut koskaan totta. Se oli vain työkaluille kätevä. Katselmointi omalla kielellä, äänellä, puheella joka ei koskaan poistu koneeltasi, ei ole marginaalinen toive. Se on se, mitä suuri osa ohjelmistoja kirjoittavista ihmisistä tekisi, jos työkalut antaisivat.

Katselmoi sillä kielellä, jolla ajattelet

Aloita ilmainen kokeilu, kiinnitä kielesi ja sanele yksi katselmointikommentti niin kuin sanoisit sen kollegalle.

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.

Jatka lukemista