arrow

назад

ask

Вопрос

Вопрос программистам. Генерация кода в проекте - больше плюсов или минусов? Спор с коллегами, хотелось бы расширить аргументы за и против.

repost

273

input message

напишите коммент


13 комментов

Смотря когда и для чего. Я для проекта в свое время делал кодогенератор на с#+yaml для входной спецификации. Вроде с точки зрения разработки пустая трата времени но с другой стороны когда надо нагенерить кучу исходников с болванками для классов подход норм.

0

ответить

Если вы про ИИ - то это отличный ассистент для ускорения работы, но если вы программист. А так называемые "вайбкодинг" - подойдет максимум для верстки одностраничного лендинга. Крупный проект не написать с помощью ИИ, он просто рассыпаться и утонет в багах. Баги будут разные - от недоработок до дыр в безопасности.

0

ответить

Нет. Вопрос вне контекста ии. Полемика идет про генерацию классов по спецификациям

0

ответить

Ну тогда, нужно уточнить контекст. Если речь идет о генерации минраций БД - то вопрос спорный. Да, это удобно, меньше человеческих ошибок/опечаток. Однако мне всегда казалось, что вручную это проще регулировать. Например проще делать сложный откат. Тут однозначно тяжело ответить

0

ответить

Нет. Не реляционная модель, по ней то как раз у всех единое мнение. Кодовая часть микросервисов по спецификациям, например openapi

0

ответить

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

0

ответить

А что если задать этот вопрос ИИ и на рекурсию?!

0

ответить

def factorial(n): # Базовый случай if n == 0 or n == 1: return 1 # Рекурсивный шаг return n * factorial(n - 1)

print(factorial(5)) # Вывод: 120 (5 * 4 * 3 * 2 * 1)

0

ответить

Только плюсы. Никаких минусов.

0

ответить

На всякий стоило бы уточнить о какой генерации речь идёт в споре(хотя скорее об ЫЫ, пугает, что это сразу в голову приходит). Если про ИИшницу, то это нейрослопогенерация. Если про компиляторы - чудо чудесное. Мы ведь руками не пишем (обычно) под схемы разные (xsd, avro, proto, fbs и тп) - здесь мы управляем NFR на уровне кодобазы. Нейрослоп генерация, в свою очередь, без контроля привносит слишком много энтропии. Можно нивелировать эффекты некоторыми тактиками, локализуя генерацию и изолируя данные участки. Хаос обычно проблема там где порядок.

0

ответить

Согласен надо уточнять. Контекст - клиенты, контроллеры (вне UI) только взаимодействие между бэком, мапперы и т.п.

0

ответить

Здесь очевидно кодогенерация помогает (если она строгая и без ии). Но тут всплывают и аспекты подходов design-first/code-first - тут свои компромиссы. В простых сценариях норм, а в комплексных будет вероятно гибрид с перекосом в одну из сторон.

0

ответить

Тут все понятно более или менее. Аргумент за - генерация кода существенно ускоряет и упрощает разработку ПО, не нужно так много людей, как ранее. Аргумент против - на каком-то шаге вы перестаете понимать, как работает программа и соответственно теряете контроль. Поэтому здесь необходим сбалансированный подход - нужно изучать сгенерированный код; принимать или не принимать его; вносить в него изменения, если необходимо.

0

ответить

еще контент автора

пост закреплён — пока закрепить можно только один пост

trash bin
перейти к нему не получится