Хотя кого я обманываю — в этот раз она для меня не прерывалась ни на день. Сразу после окончания работы над семейными итогами года (которые тоже не обошлись без программистики), между поеданием вкусностей, катанием на лыжах/плюшках и прочими новогодними непотребствами, я начал одну экспериментальную разработку, о которой пока рассказать нечего кроме того, что изначально планировал закончить её MVP за каникулы и примерно сегодня показать вам, однако по факту успел сделать только 2/3 от первых 90%. Никогда такого не было, и вот опять🤪
В рамках этой активности продолжил прощупывать бесплатных #ИИ ассистентов разработчика, встраиваемых в #IDEA. На сей раз перешёл с Codeium на Tabnine. В целом, впечатления стали сильно позитивнее.
✅ Из плюсов:
• гораздо меньше багов и нелепостей в реализации плагина к IDE (например, почти нет конфликтов со стандартными хоткеями);
• работает без VPN (по крайней мере, на модели Claude 3.5 Sonnet);
• гораздо лучше учитывает контекст проекта и почти все советы даёт в привязке к твоему коду, а не в вакууме;
• относительно хорошо справляется с генерацией кусочков кода по комментарию (именно так, не наоборот);
• при объяснениях может тыкнуть тебя носом в конкретное место в коде, на основе которого делает вывод.
👎 Из минусов:
• мутноватая схема обновления: может и сам, и через IDEA, и не всегда понятно, что происходит;
• довольно болтлив в suggest'ах — при длительной работе устаёшь читать его порой нелепые предложения;
• плоховато шарит в современной Java, например, предлагает работать с файлами через старый класс
java.io.File вместо более гибкого java.nio.file.Path, а делать HTTP-запросы советует через java.net.HttpURLConnection вместо куда более удобного java.net.http.HttpClient. Впрочем, скорее всего, это дань реальности — большинство советов в интернете, на которых училась модель, написаны с этими классами, вот она им и следует.🤭 Из забавного:
• Если после написанного комментария Tabnine не знает, какой код предложить, то вместо кода он генерит другой комментарий примерно такого вида:
// TODO implement what described in the comment above
• На странице своего аккаунта на сайте Tabnine есть раздел "🪄 Magic Moments", где собраны скриншоты предложенных им и не отклоненных тобой кусков кода (см. пример на картинке).
Пока намерен продолжить работать с Tabnine. Надо ещё попробовать, как минимум, генерацию тестов. Дальше будет видно 👁
