Код за вас голос не напишет: диктовать скобки, отступы и snake_case мучительнее, чем набрать. Но в рабочем дне разработчика кода меньше, чем прозы вокруг него - коммиты, докстринги, тикеты, комментарии в ревью, переписка в Slack и Telegram, письма, README. Вот тут голос и выручает, особенно когда в русскую фразу через слово вплетаются английские термины. Ниже - где именно девелоперу помогает голосовой ввод, где остаётся клавиатура и как это поставить на Mac.
Почему сам код голосом не диктуют
Начнём с честного минуса. Сам код голосом диктовать неудобно, и никакой инструмент это не починит - причина в природе кода, распознавание тут ни при чём.
Прикиньте, как звучит вслух обычная строка: «открывающая фигурная скобка, перенос, два таба, const result равно await fetch круглая скобка...». Пока проговорите, строку проще набрать дважды. Код держится на спецсимволах и точной структуре: парные скобки, отступы, регистр в getUserById. Речь про слова, а код - про пунктуацию между ними.
Вот что в коде делает голос бесполезным:
- Спецсимволы.
{},[],(),=>,&&- каждый надо называть словом, и строка превращается в скороговорку. - Регистр и слитность.
camelCase,snake_caseдиктовке приходится объяснять отдельно, и она всё равно ошибётся. - Отступы и структура. Вложенность, переносы, выравнивание - это про клавиши Tab и Enter.
- Точность важнее скорости. Одна лишняя кавычка - и не собирается, перепроверять дольше, чем набрать.
Граница простая: всё, что внутри редактора кода и подчиняется синтаксису, - руками. Всё, что человеческим языком (пусть и с терминами), - можно голосом. Дальше статья только про вторую половину.
Сколько прозы разработчик пишет мимо кода
Посчитайте за неделю не строки кода - строки слов. Коммиты, описание пул-реквеста, докстринг к функции, тикет в Jira, абзац в README, разбор в код-ревью, десятки сообщений в чате, письмо заказчику. Всё это - обычная человеческая проза, и её набирается больше, чем кажется.
А проза - ровно та задача, где голос быстрее пальцев. Печать идёт примерно 40 слов в минуту, речь - около 150, то есть наговорить выходит в 3-4 раза быстрее. Подробный разбор разрыва - в статье «Печатаем медленнее, чем говорим».
Есть и второй выигрыш - переключение контекста. Вы в потоке по задаче, и тут прилетает вопрос в чате. Развернуться, набрать абзац, вернуться к коду - это сбивает фокус сильнее, чем кажется. Наговорить ответ за пять секунд, не уводя глаза от кода, дешевле для головы.
Семь задач, где голос выручает девелопера
У разработчика свой набор текстов, и под каждый голос ложится по-своему.
Коммиты и описания пул-реквестов. Хороший коммит - пара живых предложений «что и зачем», а не «fix». Наговорить «починил гонку при апсерте девайса, перенёс лок выше по стеку» быстрее, чем печатать, и формулировка выходит полнее: вслух лень экономить на словах.
Докстринги и комментарии в коде. Сам код - руками, а объяснение к нему диктуется отлично. Поставили курсор в комментарий, наговорили, зачем функция и какой кейс она закрывает, - вернулись к коду. Так комментарии вообще появляются, а не «потом допишу».
Описания задач и тикетов. Баг-репорт в Jira, Linear, GitHub Issues - это рассказ: что ожидалось, что случилось, как воспроизвести. Голосом такой текст рождается подробнее, а подробный тикет экономит всем полдня переписки.
Комментарии в код-ревью. Объяснить, почему стоит вынести метод или в чём риск подхода, - две-три фразы живого текста. Наговорить быстрее, и тон выходит мягче формального «надо переписать».
README, документация, гайды. Первый абзац README, инструкция по запуску, описание API человеческими словами - проза в чистом виде, и черновик голосом выходит втрое быстрее.
Сообщения в Slack, Telegram, чатах. Половина дня уходит в переписку. Ответить тиммейту, описать статус, скинуть мысль по архитектуре - всё голосом, не отрываясь от задачи. Сюда же письма заказчику: абзац-два наговариваются за время, пока вы обычно только формулируете первую строку.
Хотите освободить руки для кода, а текст вокруг диктовать?
Поставить TapTalk на MacГлавный плюс для девелопера: русский и английский в одной фразе
Вот где у разработчика боль острее всех. Послушайте, как девелопер описывает задачу вслух: «надо задеплоить новый билд, там race condition в хендлере, поправил через мьютекс, добавил тест на edge case». Русский текст, но через слово - английский термин, имя переменной, команда из терминала.
Для печати это постоянное переключение раскладки: написал русское слово, переключился, набрал useEffect, переключился обратно - десятки раз, и часть с опечаткой не на той раскладке. Системная диктовка пасует ещё раньше: она работает в одном языке и либо коверкает английские термины в русском режиме, либо разваливает русский в английском.
Голосовой ввод, который держит оба языка сразу, снимает эту морось целиком. Вы говорите как привыкли - «прокинул props через контекст» - и в текст падает русское русским, английское английским, без единого касания раскладки. Для девелопера это та самая причина, по которой голос становится рабочим инструментом.
Почему встроенной диктовки разработчику мало
В macOS есть встроенная диктовка, и для «пары слов в поиск» её хватает. Но под тексты разработчика она проседает ровно там, где нагрузка.
- Один язык за раз. Смесь русского с английскими терминами она не вытягивает - либо портит латиницу, либо рвёт русский. А это вся речь программиста.
- Сырой поток без пунктуации. Знаки расставляешь руками или проговариваешь «запятая» вслух, и описание тикета снова дольше напечатать.
- Не чистит слова-паразиты. «Ээ», «ну», «короче» оседают прямо в коммите и в комментарии ревью.
Для разовой фразы терпимо. Но если голос - рабочий инструмент, эти проблемы перевешивают всю экономию.
Как поставить голосовой ввод на Mac
Удобнее всего диктовать там же, где вы пишете, без отдельного окна-«диктофона».
- Установите приложение для голосового ввода на Mac.
- Задайте горячую клавишу для старта и остановки диктовки.
- Поставьте курсор туда, куда обычно печатаете: окно коммита, комментарий в коде, поле тикета, чат, письмо.
- Зажмите клавишу, наговорите текст, отпустите - готовый текст со знаками препинания появится на месте курсора.
Для этого мы и делаем TapTalk - голосовой ввод на Mac, заточенный под речь со смесью языков. Горячая клавиша работает в любом окне: редактор, браузер с тикетами, Slack, Telegram, почта. Русский и английский понимаются в одной фразе без переключения раскладки - термины, имена переменных и названия библиотек встают на латинице сами. «Ээ», «ну», «короче» чистятся на лету, знаки препинания расставляются автоматически. Бесплатно с дневным лимитом, Pro-подписка снимает лимит.
TapTalk сейчас выходит для Mac. Версия для iPhone в разработке. Если вам нужна диктовка на телефоне прямо сейчас - это не тот случай, дождитесь мобильной версии или используйте то, что под рукой.
С чего начать сегодня
Не переводите на голос всё сразу - так почти все бросают на второй день. Выберите одну задачу, где набора больше всего:
- Коммиты и описания пул-реквестов за ближайшую неделю.
- Ответы в командном чате, не отрываясь от кода.
- Описание следующего тикета целиком голосом.
Поработайте так неделю. Голова привыкнет, что руки остаются на коде, а текст вокруг просто наговаривается, - и дальше вы сами начнёте отдавать голосу новые куски прозы. А код, как и был, останется за клавиатурой: так и должно быть.
Диктуйте текст вокруг кода, не теряя фокус
Поставить TapTalk на MacКоротко
Голос не пишет код и не заменяет клавиатуру в редакторе - и хорошо, что не пытается. Зато он снимает с разработчика весь объём текста вокруг кода, который копится незаметно и сжирает фокус. Самое ценное - русский с английскими терминами наговаривается одной фразой, без танца с раскладкой. Возьмите один сценарий, попробуйте неделю, решите сами.
Источники
- Средняя скорость речи, NCVS: virtualspeech.com/blog/average-speaking-rate-words-per-minute
- Исследование скорости печати, университет Аалто (136 млн нажатий, 168 000 человек), CHI 2018: aalto.fi/en/news
- «Speech Is 3x Faster than Typing», Стэнфорд / Baidu / Вашингтонский университет, 2016: hci.stanford.edu/research/speech
TapTalk ставит голосовой ввод на Mac: диктуйте коммиты, доки, тикеты и сообщения в чатах прямо в любое окно, русский и английский в одной фразе без переключения раскладки, слова-паразиты чистятся сами, знаки препинания расставляются автоматически. Код, как и прежде, за вами и клавиатурой. Бесплатно с дневным лимитом, Pro снимает лимит.
Код руками, остальное голосом
Поставить TapTalk на Mac