Первые впечатления от Cursor и GitHub Co-Pilot
Содержание
Сегодня я пробую Cursor и GitHub Co-pilot. Запишу первые ощущения, пока они не затёрлись.
Cursor
Не впечатлил прямо совсем.
-
Устанавливать отдельную IDE для меня — непреодолимое препятствие. Не хочу.
-
Я попросил его обработать мои файлы в markdown и удалить из них лишнюю инфу. Он вместо этого мне в проекте на TypeScript выдал скрипт на питоне. Ну такое себе. Надо использовать тот же язык, что и проект, тем более, у меня уже есть скрипты в папке
scripts
и вpackage.json
. Мог бы и догадаться. -
Я наругал его за то, что он пишет скрипты на питоне в среде на Node. Потом уточнил задачу — мне не нужен скрипт, мне нужно чтобы ты просто сам почистил файлы за меня (по сути это форма легкого рефакторинга). Он мне выдал скрипт на TS.
Закрыл нахер.
GitHub Co-Pilot
-
Началось наше знакомство с того, что я не смог получить бесплатную версию. Просто "Unable to activate" или что-то типа того. Ну ок, я взял версию за 10 долларов в месяц с бесплатными 30 днями в начале.
-
Пишет код он хорошо. Мне прямо понравилось.
Задача была в том, чтобы используя уже существующие у меня компоненты, создать новый компонент для генерации метаданных в формате JSON-LD для Google (для SEO на сайте Metacast).
Он неплохо справился с простой задачей. Когда я понял, что упустил edge case, я попросил дополнить компонент и он написал очень краткий код, в котором чёрт ногу сломит. Я попросил его рефакторить и получилось неплохо. Немного допилил напильником и всё заработало. -
Доработка напильником эффективнее самому, чем просить его допилить мелочи. Если ты знаешь, что делаешь, проще просто самому исправить, чем объяснять копилоту что тебе нужно.
-
Мне понравилось, что он показывает diff. Это очень удобно.
-
Удобно, что можно тут же попросить объяснить тебе то, что он сделал. По сути это тот же ChatpGPT, только вместо того, чтобы копипастить код в браузер, можно делать всё в контексте VSCode.
Общий вывод
Когда я понял, что копилот не справляется и включил ручное управление, я прямо в теле почувствовал, что не до конца понимаю его код. Всё происходило так быстро, а мои ревью были настолько поверхностными (типа выглядит правильно, ок, двигаемся дальше), что я не прочувствовал код, а только понимал как он работает на высоком уровне.
Это разница между знанием теории и практики. Теории недостаточно. Нейронные связи недосформированы. Их нужно закреплять практикой и регулярным повторением до мозолей, чтобы помимо нейронных связей была ещё и мышечная память.
В целом мне понравилось. Зашло то, что он может за меня описать такие "низкоквалифицированные" вещи, как типы данных (соответствующие схеме в документации гугла), создать каркас функций и т.п.
Но если пользоваться только копилотом, не фикся за ним мелочи и не разбираясь в его коде, то можно создать систему, которую будет сложно поддерживать в долгосрочной перспективе.
Нужен какой-то баланс между кодом от AI и самостоятельной работой. За полчаса работы с ним я уже подсел. Слезать не собираюсь.
Содержание