Comments 17
Агенты по написанию кода какого угодно тоже дал огромный прирост в скорости разработки,
Если вы разработчик, приведите примеры реальных ситуаций когда AI обеспечил "огромный прирост" скорости разработки. Потому что я вокруг себя таких примеров не вижу.
А как же огромный прирост скорости создания бойлерплейта и хелловорлдов?
Так тоже не огромный. Чтобы тот же копилот правильно вставил элементарный бойлерплет вроде получения объекта из DI контейнера должны удачно сойтись несколько звезд, в итоге часто пишешь сам чтобы не следить за звездами. Остальной бойлерплейт всегда требует больше одного файла, а отслеживать какие фалы ему попадают в промпт ужасно утомительно и не всегда помогает.
И так далее и тому подобное.
В итоге единственный существенный прирост производительности есть у джуниора (которого агенты уже якобы заменили), который получив задачу вообще не понимает что происходит и спрашивает у агента собрать хоть какое-то решение, чтобы побыстрее въехать о чем речь.
Пример очень простой, Есть сервис, где есть бек и фронт, появляется новая фича, где надо по требованиям сделать 5-6 новых едпойнтов с CRUD + бизнес логика. Используя текущую кодобазу проекта я сгенерил каркас для нового сервиса + все контроллеры + базовые sql запросы и сервис репозиторий + swagger дока за 10 минут. проверил и написал тесты вручную еще 2 часа. Потестил руками в постмане, раскатили на дев стенде и потестили с QA, потом пофиксил баги. в итоге овер 2к вполне работающих строчек кода с реализацией новой бизнес фичи за 1-2 дня, тогда как руками все это бы я делал неделю. Ну и потом фронтент нарулил также из готовых компонентов + надо было новый тоже реализовать из фигмы, но с помощью ИИ тоже все было сделано быстрее.
Да ИИ не сильно поможет, и даже может время съесть, если надо сделать что-то сложное и где надо продумать архитектуру, нарисовать UML и все такое. Но он для этого и не годится сейчас. А вот рутинные штуки где надо сделать CRUD, уже в существующей кодобазе - это оч сильно ускоряет.
Вообще-то CRUD не требует никаких новых endpoints - у меня например CRUD для любой "таблицы" в базе это 1K строк на всё. Если говнокодить по "овер 2к вполне работающих строчек кода" - то да, без ИИ не обойтись :-(
Вы хоть прочитали мой коммент ? я же написал, что новая фича предполагает то, что мне надо сделать и CRUD операции и сделать новые ендпойнты.
Так в том и дело, что такой задачи у вас не будет. Будет задача прикрутить эти CRUD функции в систему изобретенную @slavap.
Так не бывает. Не бывает сферического CRUD в вакууме, если вы только не работаете в компании "Напишем CRUD приложение для вашей парикмахерской с тестами на каждый ендпоинт и свагером под ключ". Я таких правда не видел за 30 лет ни разу.
Любое реальное приложение, это уникальный концепт и куча нюансов. Это никогда не бывает просто сферический CRUD в вакууме. Это будет гребаное расписание автобусов, или документ, ходящий по кругу по инстанциям, или еще какая дичь похуже. Там будут элементы CRUD, но кроме того куча других сложностей. Тот кто будет разрешать эти сложности этот ваш CRUD впишет между чаем и булочкой, не включая мозг.
Но если даже случилось невероятное и это реально просто CRUD фитча, то наверно это не первая такая фитча в проекте. Эже были похожие CRUD задачи. А если их вы же и делали, то половину будете помнить. Тогда достаточно накопиаситить все контроллеры-серверы-провайдеры-репозитории и адаптировать под новую задачу. Это займет пару часов максимум. Возможно по ходу вы поймете, что прошлый CRUD был кривоват и сделаете компактнее и проще, улучшив практики. По ходу решаются вопросы с выразительными именами, вопрос какой код в какой папке здесь принято хранить.
CRUD или не CRUD, но всегда есть пейджинг, сортировка и фльтрация. Как конкретно это принятно реализовывать в текущем проекте? Наверняка есть некое готовое собстсенное наработанное решение. Его надо понимать и правильно привинтить. Пейджинг в возложите на ORM, или будете писать хранимку? Такие хранимки наверно уже есть и желательно чтобы они все были едиообразны?
Мы забыли расширить базу данных. Как в проекте происходит миграция на новую версию? Как это делается в проекте? Просто миграция в ORM в пределах текущего сервиса, или это монолит с собственной навороченной системой миграций, в которую тоже надо вникать?
Не забываем про права доступа пользователя. Нужды ли отдельные права на эту новую фитчу? Если нужны, куда их нужно добавить? Будем ли что-то сидить по этим правам при создании новой базы или пользователя автоматически? Где все это в коде проекта? Как в приложении реализована проверка прав? Нужно сделать новую фитчу красиво в рамках принятых практик.
Переходим на UI, там еще интереснее. В среднем это буедт какая-то полу-самопальная библиотека на реакте с разным уровнем безумия и амбиций на решение на все случаи жизни. Вы хотите показать таблицу с пейджингом, сортировкой, филтрами и редактированием тогда вам нужно изучить документацию или примеры использования этого компопнента. Еще сейчас у нас идет редизайн, переходим на новые компоненты, они еще сырые, пожалуйста учтите этот момент. Для лэйаута у нас тоже своя классная не документированная библиотека стилей. Вы хотете вставить в диалог выпадающий список? Посмотрите как у нас это делается. Мы делаем подпапку "scope" с RxJs и там все это огранизуем. Но вообще ребята уже эту улучшили, скоро все это будет не надо...
Все это можно делать с AI агентом или без, дело вкуса. Без него проблем будет меньше.
Напоминает анекдот:
Послушай, как ИИ разработчиков заменит.
Давайте, заменяйте уже.
Нет, ты послушай.
Пусть заменяет, поскорее бы уже. ЗП, главное, пусть оставят
Нам недавно на презентации доктора наук говорили, что фраза "ИИ заменит программистов" или что-то похожее было ещё в 50х годах, просто было "сеньор программирует на байткоде", потом "сеньор программирует на ассемлере", потом "сеньор программирует на Си, джаве..." и теперь будет "сеньор программирует на ламе" :)
Кстати, проверял - ИИ на ассемлере не умеет
мне 15 лет и я думаю изучать программирование или нет. не могли бы посоветовать что делать?
Я подобную ерунду слышу не первый год, как пример: NoCode. Так с появлением этого появился новый спрос на программистов на нем. Классические же программисты никуда не исчезли, а только спрос на них вырос. И т. д. появляется новое - "убийца программистов" и... все остаётся по старому.
Как ИИ разработчиков заменит