Обновить

Google предлагает разработчикам бесплатный инструмент на основе ИИ для программирования

Время на прочтение2 мин
Охват и читатели45K
Всего голосов 13: ↑11 и ↓2+10
Комментарии49

Комментарии 49

Отлично, прямой конкурент для Github Copilot. Такими темпами оно станет скоро бесплатным и безлимитным.

Оставшись бесполезным

Ну, зря Вы так: он хорошо пишет комментарии в коде и неплохо генерирует процентов девяносто юнит-тестов.

Ага, комментарии уровня: "Это стул, на него обычно садится человек" - лишний шум

А юнит тесты, хз как можно писать с помощью АИ. Юнит тест - это на основе своего внутреннего понимания задачи - сломать код. Аи по запросу "напиши тесты" этого делать не будет. Нафиг такие тесты

Единственная сила аи - авто и комплит

Да, нет же, хорошо описывает. Если нужно подробно (что лично я не люблю), то умеет и так.

Немного Вас не понял... Он хорошо юниты на эдж-кейсы делает. Например, если метод принимает X [1..10], то он сгенерирует тесты на 0, 1, 10 и 11.

НЛО прилетело и опубликовало эту надпись здесь

Ваши примеры для языков без статического контроля типов. В Delphi если вместо Integer подсунуть Double или строку - даже не скомпилируется.

НЛО прилетело и опубликовало эту надпись здесь

Там ниже Visual Studio 2022 обсуждают, тоже вроде нет в шапке. Зато есть общий тег Programming. А 1e100 - это константа из какого целочисленного типа? Вы же понимаете, что целочисленная константа может принадлежать к определённому целочисленному типу, только если попадает в диапазон его значений?

В статически типизированных языках попытка присвоения такого значения целочисленной переменной отлавливается на раз. Ну а Python сам сменит тип переменной после присвоения на подходящий.

НЛО прилетело и опубликовало эту надпись здесь

1e100 — это целое

А теперь

Само по себе 1e100 — float

С уточнённой формулировкой соглашусь.

Проще/короче уж написать int(1e100), а результат будет тот же ))

А точное целое 1e100 можно написать так 10**100

Даже если эти примеры это пайлоад в ресте? Неужели в входном json'e нельзя подсунуть строку вместо числа?

Это был строго синтетический пример. Ну, а т.к. я пишу на .NET C#, то пример был для него. Прошу прощения, что не указал отдельно. Как правильно написал хабровчанин ниже, тесты с Вашими входными параметрами не смогли бы скомпилироваться в дотнете.

НЛО прилетело и опубликовало эту надпись здесь

Да, тут Вы правы, такое он не умеет, и лично я от него не жду. Но, он снимает с моих плеч кучу рутины по написанию однотипных тестов на простые случаи. Их же тоже нужно проверять (для того, чтобы удостовериться в целостности контракта), так?

НЛО прилетело и опубликовало эту надпись здесь

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

Если метод не работает при валидных данных, абсолютно все равно как он работает на не валидных.

НЛО прилетело и опубликовало эту надпись здесь

Проверка крайних случаев это не единственная задача юнит тестов.

Представьте что вы будете добавлять тест на обработку строки длиной в гигабайт для каждой функции, которая принимает строку. Это возможно, а имеет ли смысл?

Основная функция юнит теста это фиксация поведения. Это позволяет расширять или рефакторить код более уверено. Вы упоминали snapshot testing, но он хорошо работает только для чистой функции. А если нужно проверить, что определенная функция была вызвана в определенный момент с определенными аргументами?

ChatGPT позволяет мне быстро зафиксировать поведение функции / класса. После первого раунда, я глазами пробегаюсь и прошу догенерировать конкретные кейсы. Чаще всего получается быстрее, чем мануально. При этом моя голова тоже работает.

НЛО прилетело и опубликовало эту надпись здесь

Разумеется. Просто я хотел подчеркнуть что проверка крайних случаев это только одна из задач юнит тестирования. И что даже если ChatGPT не очень силен в этом (в том числе потому что среднестатистический разработчик не очень силен в этом), то другие аспекты он покрывает достаточно хорошо, а потому полезен. Он снимает с меня исполнительскую нагрузку, оставляя только аналитическую.

Я не хочу подробно, я хочу "полезно". Что такое "полезно" вопрос открытый.

Отлично, он напишет тесты на корнер кейсы так, что тесты зеленые. Где в этом действие умственные усилия по проверке, что код верен? Я уж не говорю про тривиальность примера

Я не говорю, что аи бесполезен, просто логика использования совсем не к месту

Опять не завезли поддержку Visual Studio 2022. Кто-то в курсе, почему все плагины ассистов (континум, сбер, яндекс, гугл, джуни) делают только под вскод или джетбрейнз? У студии явно немалая доля юзеров, почему их (нас!) динамят?

Да закопает ее MS, флагманский редактор VS Code у них

Или Raider :)

Сильное заявление О_о Насчет Rider согласен, сам сидел на нем, пока JB не прикрыли как раз обновление плагинов. Пришлось свичнуться обратно на VS 2022, с которой ушел еще со времен 2017, и, в принципе, не то, чтобы страдаю) Но странно сравнивать ее с ноутпадом, которому завезли solution explorer)

Как обновление плагинов прикрыли? С не российских ip адресов все нормально обновляется

А если в меню плагинов зайти в "Plugin homepage", там выбрать необходимую версию, скачать её и после сделать "Install Plugin from Disk" то обновляется даже не глядя ни на какой IP.

Полгода уже прошло, может счас чтото приоткрыли. Но на тот момент уже нельзя было просто взять и обновить сам Райдер: приходилось качать инсталлер через ВПН и каким то костылем тащить на рабочую виртуалку. А когда еще и плагины перестали обновляться по кнопке, то забил)

Что-то вокруг VS Code много хайпа, пытался в нем что-то делать, не понял, как это можно сравнивать его с полноценной IDE, да хоть с Rider, хоть с Visual Studio.
Да у него много плюсов - VS Code легкий и быстрый, кроссплатформенный и все.

Когда упрётесь в удаленную отладку Wibdows сервиса, писаного хоть на C++, хоть на .NET, или отладку параллельных вычислений, в специфику какой нибуть экзотики и т.п. поймёте, что просто классного и легкого редактора для этого мало.

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

Будут они долго и счастливо жить параллельно, ибо это совсем разные вещи, для разных целей, нельзя их даже сравнивать.

С другой стороны, не всем нужен экскаватор и если хватает VS Code для все дел, то действительно полноценная IDE не нужна и это будет правильно и эффективно.

НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь

Тоже глубоко сожалею, попробовал прямо счас его в VS Code на C#-проекте: классные интеграции предлагаемых доработок - дифф с текущим файлом, инсерт в него же и т. п. Наверно у нас так может Копайлот, но лень заморачиваться с оплатой)

Потому что Visual Studio 2022 крутится около .NET проектов, а VS Code можно подрубить под написание кода любой экосистемы, или отсутствующей таковой. Возможно, для разработчиков плагинов не надо отстегивать MS на интеграцию в VS Code.

Да ну почему же, экосистема c++ там тоже большая. Да и собственно уже лет 10 можно писать хоть на питоне, хоть на js, да любые другие языки.

Интересно, что даже в Delphi 12.2 появилась встроенная интеграция с движками AI, как локальными Ollama, так и облачными (OpenAI, Gemini и Claude).

Где-то читал, что в студии используется Gemini 2.0. Ну и если спросить у него напрямую, то ответ такой: Я — Gemini, и я создан компанией Google. Я действительно использую модель Gemini 2.0, которая сейчас доступна для индивидуальных пользователей в Gemini Code Assist.

Точно бесплатный? В vs code плашку выдал - You are missing a valid license for Gemini Code Assist and may lose access to the service. Contact your billing administrator to purchase or assign a license.

НЛО прилетело и опубликовало эту надпись здесь

У меня в VS Code на нескольких аккаунтах так, на некоторых точно не использовал никаких облаков, они просто личные :(

Может и бесплатный, но, по ходу, нужен биллинг-аккаунт. Который в РФ по некоторым причинам пока нельзя создать...

Мне кажется гемини худший вариант для кода, если брать для сравнения OpenAi и Claude.

Гемини в 30+ раз дешевле, и можно бесплатно через API юзать.

Зачем бесплатно юзать то, что работает хуже, чем платное?

Я помню пробовал использовать его для генераций xpath-ов. Полная фигня, часто генерит просто никуда не ссылающиеся выражения. А надежд то былооо...

после установки он почему-то предлагает To use Gemini Code Assist Standard or Enterprise, you need to select a Google Cloud project. Хотя на youtube глянул, там ничего подобного не требуется.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
bothub.ru
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
Greg Ewin