Комментарии 49
Отлично, прямой конкурент для Github Copilot. Такими темпами оно станет скоро бесплатным и безлимитным.
Оставшись бесполезным
Ну, зря Вы так: он хорошо пишет комментарии в коде и неплохо генерирует процентов девяносто юнит-тестов.
Ага, комментарии уровня: "Это стул, на него обычно садится человек" - лишний шум
А юнит тесты, хз как можно писать с помощью АИ. Юнит тест - это на основе своего внутреннего понимания задачи - сломать код. Аи по запросу "напиши тесты" этого делать не будет. Нафиг такие тесты
Единственная сила аи - авто и комплит
Да, нет же, хорошо описывает. Если нужно подробно (что лично я не люблю), то умеет и так.
Немного Вас не понял... Он хорошо юниты на эдж-кейсы делает. Например, если метод принимает X [1..10], то он сгенерирует тесты на 0, 1, 10 и 11.
Ваши примеры для языков без статического контроля типов. В Delphi если вместо Integer подсунуть Double или строку - даже не скомпилируется.
Там ниже Visual Studio 2022 обсуждают, тоже вроде нет в шапке. Зато есть общий тег Programming. А 1e100 - это константа из какого целочисленного типа? Вы же понимаете, что целочисленная константа может принадлежать к определённому целочисленному типу, только если попадает в диапазон его значений?
В статически типизированных языках попытка присвоения такого значения целочисленной переменной отлавливается на раз. Ну а Python сам сменит тип переменной после присвоения на подходящий.

Даже если эти примеры это пайлоад в ресте? Неужели в входном 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.
Хм... А Gemini, идущий "в комплекте" с Android Studio, - не он ли?
Точно бесплатный? В 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.
Мне кажется гемини худший вариант для кода, если брать для сравнения OpenAi и Claude.
Я помню пробовал использовать его для генераций xpath-ов. Полная фигня, часто генерит просто никуда не ссылающиеся выражения. А надежд то былооо...
после установки он почему-то предлагает To use Gemini Code Assist Standard or Enterprise, you need to select a Google Cloud project. Хотя на youtube глянул, там ничего подобного не требуется.

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