Диктуйте рев’ю коду власною мовою
Код — англійською. Ваші коментарі в рев’ю — не обов’язково. Як диктувати зауваження однією з 25 мов на пристрої й навіщо закріплювати мову.
У більшість інструментів для розробників вбудовано тихе припущення: код англійською, отже й розробник теж. Ключові слова англійські. Назви бібліотек англійські. Повідомлення про помилки англійські. А отже, іде міркування далі, диктування для розробників може бути лише англійським, і ніхто не заперечить.
Рев’ю коду ламає це припущення одразу. Коментар у рев’ю — це не код. Це речення, звернене до людини, і в дуже багатьох командах ця людина розмовляє вашою рідною мовою. Румунська команда, що робить рев’ю сервісу на Rust, пише румунські коментарі про англійські ідентифікатори. Польська команда робить те саме польською, німецька — німецькою. Код лишається англійським; розмова про код — ні.
Диктування напрочуд добре пасує коментарям у рев’ю, бо рев’ю — це читання, а набір тексту читання перериває. Але добре воно лише тоді, коли працює тією мовою, якою коментар насправді написаний. Ця стаття — про те, як це зробити: які мови Keebye покриває на пристрої, як поводиться закріплення мови й де межі. Якщо вам потрібен сам аргумент, чому це важить, його викладає диктування для розробників не має бути лише англійським; тут — практичне продовження.
Чому коментарі в рев’ю — ідеальна ціль для диктування
Коментар у рев’ю має три властивості, які роблять його придатнішим для голосу, ніж майже будь-який інший текст розробника.
Він короткий. Більшість коментарів — від одного до трьох речень. Це один вдих, одне утримання гарячої клавіші, одна фраза.
Це проза. На відміну від повідомлення коміту з жорстким форматом чи конфігу з точним синтаксисом, коментар у рев’ю — просто те, як ви пояснили б проблему вголос. «Тут повторні спроби вічні, якщо сокет так і не відповість; обмеж їх». Вимовлена й набрана версії майже однакові.
Він трапляється, коли очі зайняті. Ви читаєте diff. Щойно ви спиняєтеся, щоб набрати текст, ви губите в ньому місце. Диктування дає змогу читати далі й вимовити коментар у поле вводу, у яке ви вже клікнули.
Тепер додайте мовний вимір. Якщо ваша команда робить рев’ю польською, англомовний інструмент диктування нав’язує вибір: робити рев’ю англійською (неприродно, і колеги, можливо, читатимуть повільніше) або набирати руками (втративши всю вигоду). Ані те, ані те вам не потрібне.
Що Keebye справді підтримує
Тут важать два рушії на пристрої, і про них варто говорити точно.
Типовий рушій налаштований на англійську. Він швидкий, ним користується більшість, і це не той рушій, який потрібен для польського коментаря в рев’ю. Спрямований на неанглійське мовлення, він видасть фонетично правдоподібну англійську, якої ви не казали.
Другий рушій, Canary, покриває рівно 25 мов: болгарську, хорватську, чеську, данську, нідерландську, англійську, естонську, фінську, французьку, німецьку, грецьку, угорську, італійську, латвійську, литовську, мальтійську, польську, португальську, румунську, російську, словацьку, словенську, іспанську, шведську та українську. Він вмикається за бажанням, завантажується один раз, а далі працює офлайн, як і все інше в Keebye. Не сотня мов; двадцять п’ять, перелічених поіменно, і якщо вашої в списку немає, ця стаття вам поки не допоможе.
Є ще варіант використати як рушій рідне розпізнавання мовлення від Apple — воно приносить власне покриття мов на вашому Mac. Це окремий шлях з іншими характеристиками; решта статті — про Canary.
Закріпіть мову, не давайте вгадувати
Найважливіше налаштування для неанглійського рев’ю — закріплення мови.
Автовизначення звучить як правильне типове значення, але для розробників воно неправильне. Коментарі в рев’ю щільно набиті англійськими ідентифікаторами: іменами функцій, назвами пакетів, словами «null», «async» і «callback». Коментар, на вісімдесят відсотків румунський і на двадцять із англійських токенів, дає визначнику мови рівно той змішаний сигнал, з яким він дає раду найгірше. Він перемкнеться посеред речення або вирішить, що все це було англійською, — і ви отримаєте впевнено неправильну транскрипцію. Детальний розбір цієї поразки — у статті закріпіть мову диктування.
З Canary мова в Keebye задається явно. Закріпіть румунську — і модель декодує румунську; англійські ідентифікатори всередині вашого речення обробляються як запозичення, а не як доказ того, що ви змінили мову. Розпізнавання незвичного ідентифікатора все ще може бути недосконалим, але сама мова перестає бути підкиданням монетки.
Одна поведінкова деталь, яку варто знати: закріплена мова зчитується для наступної фрази. Змінюєте закріплення — і диктування, яке ви от-от зробите, використає його; те, що ви вже відпустили, наново не транскрибується. На практиці це означає: спершу перемкніться, потім говоріть. Якщо за день ви робите рев’ю двома мовами, перемикання коштує дешево. Меню в рядку меню показує короткий список з 11 мов для швидкого перемикання, а налаштування показують усі 25.
Сесія рев’ю, надиктована
Ось як виглядає сесія в команді, яка робить рев’ю румунською.
Ви відкриваєте пул-реквест. У меню вже закріплена румунська ще з учора, тож робити нічого. Читаєте перший файл. Третій фрагмент — цикл повторних спроб без обмеження. Клікаєте в поле коментаря, утримуєте праву ⌘, вимовляєте коментар румунською, відпускаєте. Текст надходить: «е-е» й фальстарт прибрано очищенням за правилами, а ідентифікатор reconnectSocket цілий, бо тиждень тому ви додали його до власного словника.
Наступний файл. Коментар, який ви хочете лишити, — це пропозиція з кодом, а не проза. Його ви набираєте руками; диктувати diff — поганий досвід будь-якою мовою.
Пізніше в тред приходить учасник з іншої команди й пише англійською. Ви хочете відповісти англійською. Клік по меню, англійська з короткого списку — і наступна фраза декодується як англійська. Відповідаєте й перемикаєтеся назад.
Нічому з цього не потрібне вікно. Keebye лишається в рядку меню; гаряча клавіша працює в тому застосунку, який у фокусі, — байдуже, це вкладка браузера з рев’ю, десктопний Git-клієнт чи термінал із консольним інструментом рев’ю.
Чесні обмеження
Двадцять п’ять мов, а не всі. Якщо ви робите рев’ю турецькою, японською, арабською чи будь-якою мовою поза списком Canary, другий рушій її не покриває. Рідний рушій Apple, можливо, покриє — залежно від мовної підтримки вашої системи, — але це інший рушій з іншою поведінкою.
Швидкий список — одинадцять. Англійська, румунська, французька, німецька, іспанська, італійська, португальська, нідерландська, польська, російська й українська — за два кліки. Решта чотирнадцять — у налаштуваннях. Якщо у вашій щоденній парі, скажімо, чеська й фінська, одна половина пари йде через налаштування.
Ідентифікатори лишаються ідентифікаторами. Мовленнєва модель будь-якою мовою спотикається на snake_case_names. Словник допомагає з повторюваними, решту ви правите руками. Перечитуйте коментар, перш ніж його надіслати.
Жодної живої транскрипції. Canary транскрибує на відпускання клавіші, одним пакетом. Слова не з’являтимуться, поки ви їх кажете. Для коментаря в рев’ю завдовжки в одне-три речення це майже непомітно.
Шліфування опційне, і типово все буквально. Якщо ввімкнути шліфування локальною LLM на пристрої, воно причепурить структуру речень, а захист достовірності відкотиться до сирої транскрипції, коли у виводі видно серйозну втрату токенів, розростання чи повтори. Цей захист — евристика; він не перевіряє, що ваш зміст уцілів. У коментарях рев’ю, де перевернуте заперечення змінює вирок, більшість лишає шліфування вимкненим і дає працювати очищенню за правилами.
Куди це вбудовується
Якщо закріплення мови — найважливіша для вас функція, Keebye vs Wispr Flow порівнює обидва інструменти за тим, де виконується розпізнавання і як обробляється мова, включно з тим, де Wispr Flow пасує краще. Для ширшого випадку — диктування, коли руки на diff, — є посібник для розробників, а налаштування розбирає посібник для Mac.
Припущення, що розробники розмовляють лише англійською, ніколи не було правдою. Воно було просто зручним для інструментів. Робити рев’ю власною мовою, голосом, із розпізнаванням, яке ніколи не покидає вашу машину, — не нішеве прохання. Це те, що робила б велика частина людей, які пишуть софт, якби інструменти дозволяли.
Робіть рев’ю мовою, якою думаєте
Почніть безкоштовний пробний період, закріпіть свою мову й надиктуйте один коментар у рев’ю так, як сказали б його колезі.
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.
Читати далі
Автовизначення знову вгадує не те: закріпіть свою мову
Диктування раз у раз потрапляє не тією мовою? Автовизначення метається на двомовному мовленні за задумом. Закріпіть мову один раз — і вона лишиться закріпленою.
Чому диктування для розробників не має бути лише англійським
Код англійською; робочий день часто ні. Багатомовне диктування на пристрої для повідомлень у Slack, рев’ю та документів власною мовою.
Диктування промптів паралельним агентам, доріжка за доріжкою
Два-три агенти для коду одночасно — і промпт стає вузьким місцем. Голосовий процес, щоб годувати паралельні доріжки, не покидаючи поточну.