[SE]:blog

Как мы используем Tabnine

[SE] : Expert
На рынке появились решения на базе ИИ, такие как Tabnine — инструмент, который позволяет автодополнять код.

А теперь про сам инструмент:
Как работает?
Он генерирует блоки кода с сохранением контекста в дополнение к стандартным решениям предлагаемым IDE, то есть автодополнению значения и шаблону кода.
Как использовать?
Инструмент устанавливается как дополнение к программе, в который ты пишешь код. Небольшая, но важная деталь: инструмент платный .... (здесь нужно указать стоимость)
В нашей компании Tabnine используют в отделе разработки игр, и вот что рассказал руководитель отдела:
Когда начал использовать Tabnine (с C# в Unity), стал удивлялся его возможностям — генерирует целые блоки кода, даже сразу несколько строк. Иногда были (и есть) не тот код на выходе, не полный код или опечатки. Понадобилось время, чтобы привыкнуть. Всё это, конечно, отвлекало и уменьшало эффективность использования Tabnine, при этом всё равно получалось быстрее. Хоть код написан собой, хоть Tabnine — всё равно его стоит перечитывать.

Со временем научился использовать ошибки генерации с пользой — даже если сгенерирован некорректный код, часто легче/быстрее его скорректировать, чем переписывать. А если в коде не те названия методов или переменных — использовать сгенерированный код в качестве шаблона и также скорректировать.

После нескольких месяцев использования Tabnine, когда приходится редактировать код без него, понимаю, что чего-то не хватает. Например, писал код на Python вместо C#, а в итоге поставил Tabnine в PyCharm.

Также, часто получается, что ещё не придумал, что писать, а Tabnine уже предложил решение. В кейсах это сложно показать, на практике это ощущается.

Здесь можно посмотреть кейсы.

В целом, данный инструмент позволяет сокращать время на написание кода. Например, месячная статистика от Tabnine показала 17h:1m сохранённого времени, что примерно 2 рабочих дня на 1 разработчика.
Фактически есть несколько нюансов, которые меняют статистику в ту или иную сторону:
  1. Иногда решение делает опечатки и их приходится править. Зачастую это всё равно быстрее, чем писать код целиком только средствами IDE - достаточно скорректировать 1 слово. Секунды на редкие правки замерить очень сложно.
  2. Помимо автодополнения решение подсказывает контекст — иногда вместо автодополнения Tabnine ускоряет принятие решений по написанию кода. Здесь также очень сложно замерить секунды на редкие правки. В целом, выгода от подсказок компенсирует издержки от корректировок.
  3. Доверие к решению со временем растёт, а вместе с тем растёт частота его использования и уменьшается время на чтение результата автодополнения.
Поддерживаемые IDE
По стоимости — есть бесплатная версия (с ограниченными возможностями) + Trial платной версии.