Блог

Голосовое кодирование: пишите документацию и комментарии голосом

Миф о голосовом кодировании

Когда разработчики слышат «голосовое кодирование», большинство представляют себе человека, диктующего синтаксис Python вслух: «def пробел calculate underscore total открывающаяся скобка items закрывающаяся скобка двоеточие...» Это не голосовое кодирование. Это пытка.

Настоящее голосовое кодирование — не замена клавиатурного ввода для синтаксиса. Это использование голоса для той большой части разработки, которая написана на естественном языке: документация, комментарии, сообщения коммитов, описания пулл-реквестов, разбивка задач, обновления в Slack и код-ревью.

Соотношение естественного языка к синтаксису в разработке выше, чем большинство разработчиков осознаёт. Тщательный разработчик может тратить:

  • 20% — написание кода
  • 30% — написание документации и комментариев
  • 15% — описание задач и содержимого пулл-реквестов
  • 20% — Slack, почта и встречи
  • 15% — код-ревью и планирование

80% работы — это область, где голосовой ввод либо быстрее набора, либо не уступает ему. Оставшиеся 20% — реальный синтаксис — остаются на клавиатуре.

Что диктовать как разработчику

Комментарии к коду

Комментарии — это чистый естественный язык. Написать чёткий комментарий, объясняющий, зачем нужна функция, какие граничные случаи она обрабатывает или что важно знать вызывающему коду, — проще говоря, чем набирая.

Рабочий процесс: Перейдите к месту комментария в редакторе, нажмите горячую клавишу, произнесите объяснение, отпустите. Режим «Чистка» убирает слова-паразиты и выдаёт чистый текст.

Пример: Нажмите горячую клавишу, скажите «эта функция обрабатывает граничный случай, когда токен пользователя истёк, но refresh token ещё действителен — она выполняет одну попытку обновления, и если она тоже не удалась, принудительно завершает сессию, вызывающий код должен обрабатывать AuthenticationError», отпустите. Комментарий появляется отформатированным и чистым.

Документация и README

Файлы README, документация API и встроенные комментарии JSDoc/docstring — именно там голосовой ввод максимально эффективен. Вы пишете для человека в виде естественной прозы — то же самое, что сказали бы, если бы вас попросили объяснить код устно.

Диктовать документацию к функции, глядя на код, — значит получать лучшую документацию, чем при наборе. Вы описываете то, что видите, естественно, без трения перевода мысли в нажатия клавиш.

Сообщения коммитов

Хорошее сообщение коммита — это короткая проза: что изменилось и почему. Произнести его быстрее, чем набрать, а режим «Чистка» обеспечит читаемость.

Описания пулл-реквестов

Описание PR — проблема, решение, план тестирования, замечания для ревьюера — это именно тот структурированный контент, с которым режимы обогащения Telvr справляются отлично. Режим «Задача разработчика» генерирует эту структуру нативно.

Пример: Нажмите горячую клавишу, переключитесь в режим «Задача разработчика», скажите «исправлено состояние гонки в пайплайне обработки платежей, проблема в том, что два параллельных запроса могли оба проверить баланс до того, как любой из них его списал, добавлена блокировка строк на уровне базы данных вокруг транзакции, добавлен тест, который запускает два параллельных платёжных запроса», отпустите. Результат — структурированное описание PR с разделами «Проблема», «Решение» и «Тестирование».

Описания задач и тикетов

Написать подробный баг-репорт или спецификацию фичи через клавиатуру утомительно. Продиктовать его голосом, глядя на задачу, быстрее и нередко даёт более полные описания — потому что нет механического трения набора.

Обновления в Slack и команде

Обновления о прогрессе, блокировки, стендап-резюме — всё это по природе своей разговорно. «Закончил рефакторинг авторизации вчера, сегодня занимаюсь интеграцией платёжной системы, жду тестовые учётные данные для sandbox, спрошу у Саши.» Полный стендап за 15 секунд речи.

Настройка для рабочих процессов разработчика

Настройка горячей клавиши

Горячая клавиша Telvr по умолчанию (Option + Пробел на Mac) хорошо работает для разработчиков — не конфликтует с большинством горячих клавиш IDE. Если нужно другое — клавиша настраивается.

Рекомендуемые настройки для разработчика:

  • Держите руки в основном положении над клавиатурой
  • Используйте двухклавишную комбинацию во избежание случайной активации в терминале
  • Избегайте сочетаний, занятых IDE (проверьте keymap VS Code или JetBrains)

Выбор режима

Для рабочих процессов разработчика:

  • Режим «Чистка»: Обычные комментарии, документация в виде прозы, сообщения в Slack
  • Режим «Задача разработчика»: Описания пулл-реквестов, спецификации задач, резюме технических требований
  • Режим «Заметки о встрече»: Итоги ретроспективы спринта, резюме дискуссий по дизайну
  • Режим «Письмо»: Техническая коммуникация с клиентами, обновления статуса для нетехнических заинтересованных лиц

Интеграция с IDE

Telvr использует системный ввод текста, поэтому работает в любом текстовом поле любого приложения:

  • VS Code (редактор, встроенный терминал, поиск, поле сообщения коммита)
  • JetBrains IDE (IntelliJ, WebStorm, PyCharm)
  • Zed, Neovim (в режиме вставки)
  • Linear, Jira, GitHub (в браузере)
  • Терминал (при вводе некомандного текста — например, сообщения git commit)

Никакого плагина устанавливать не нужно. Любое редактируемое текстовое поле готово к работе.

Реальный рабочий процесс разработчика

Вот как выглядит рабочая сессия с голосовым вводом на практике:

Утренний стендап в Slack: Нажмите горячую клавишу, надиктуйте вчерашний прогресс + план на сегодня + блокировки, отпустите. Готово за 20 секунд.

Написание кода: Клавиатура. Обычный процесс разработки.

Добавление комментария к сложной функции: Перейдите к нужной строке, нажмите горячую клавишу, объясните функцию голосом, отпустите.

Создание GitHub Issue для бага: Откройте новый тикет, нажмите горячую клавишу в режиме «Задача разработчика», опишите баг и шаги воспроизведения, отпустите. Добавьте заголовок и отправьте.

Написание сообщения коммита: git commit в терминале, нажмите горячую клавишу в открывшемся редакторе (или передайте в файл), надиктуйте описание коммита, отпустите.

Написание описания пулл-реквеста: Откройте форму PR, нажмите горячую клавишу в режиме «Задача разработчика», объясните что делает PR и зачем, отпустите. Добавьте замечания для ревьюеров при необходимости.

Ответ на технический вопрос в Slack: Нажмите горячую клавишу, объясните техническое решение или концепцию голосом, отпустите. Режим «Чистка» даст читаемое объяснение без необходимости тщательно набирать.

Реальный эффект для продуктивности

Главный выигрыш от голосового ввода в разработке — не в сырой скорости, а в снижении трения. Документация часто откладывается или не пишется вовсе, потому что набирать её — это ощущаемые затраты поверх реальной работы. Когда написать комментарий или docstring занимает 15 секунд голосом, а не 2 минуты аккуратного набора, порог для его написания резко снижается.

Лучше задокументированный код, более полные описания пулл-реквестов и более подробные баг-репорты — вот практический результат голосового ввода у разработчиков. Не просто более быстрое выполнение тех же привычек, а формирование новых, лучших.

Одна неделя — новая привычка

Как выработать привычку голосового ввода в рабочем процессе разработки:

День 1: Используйте голос только для сообщений в Slack. Ничего больше.

День 3: Добавьте сообщения коммитов. Надиктуйте описание в редактор терминала.

День 5: Добавьте встроенные комментарии. Начните объяснять сложные функции голосом сразу после написания.

День 7: Пишите описания пулл-реквестов в режиме «Задача разработчика». Заметьте, что они стали более полными, чем раньше — потому что говорить быстрее, чем набирать.

После двух недель привычка закрепляется, и голосовой ввод воспринимается как естественный, а не требующий усилий инструмент.