Информация об изменениях

Сообщение Re: Преимущества чистого кодогенератора от 19.09.2019 3:48

Изменено 19.09.2019 10:51 L_G

Re: Преимущества чистого кодогенератора
Над проблемой периодически задумывался в течение многих лет. (Но не дождался такого приступа энтузиазма, чтобы броситься уже что-то кодировать.)

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

Вроде бы это вписывается в термин "scaffolding". (Он используется почему-то только в веб-программировании, до которого я пока не добрался.)

Плюсы подхода особенно хорошо проявляются, если ты — наёмный программист в чужой конторе:
+ поддерживающие код после тебя не столкнутся с незнакомой и загадочной для них "средой" или "фреймворком" — везде самый обычный код.
+ в случае, если начальство и коллеги являются противниками всяких велосипедных метаинструментов, можно им ничего не говорить — просто нагенерировать себе кода и далее работать с ним, при необходимости легко зачистить все следы от присутствия своего кодогенератора. И в VCS можно коммитить только сгенерированный код.
+ как вариант, ты автоматизируешь только свою собственную работу и получаешь профит или хотя бы конкурентное преимущество.

При написании инфосистем под заказ такой подход тоже оправдан: чем отдавать самому заказчику "средства конфигурирования", не лучше ли периодически (а лучше — систематически) брать с него денежку за поддержку?

BTW, к "среде" со своим "ядром" и динамической генерацией форм наверняка тоже можно приделать возможность сгенерировать те же формы и нужный им код статически (чтобы далее всё работало точно так же без среды и ядра).

P.S. под WPF кое-что есть, сам пока не смотрел: https://stackoverflow.com/questions/704337/scaffolding-for-wpf-using-mvvm

P.P.S. Совсем забыл про вариант "Model first", когда сначала набрасывается "метаописание" (возможно, в некоей "визуальной" или табличной тулзе, т.е. не в чисто-текстовой форме), а из него генерится и сама БД, и код. А ведь я как-то раз все же начинал кодировать свой велосипед — именно по этому варианту.
Re: Преимущества чистого кодогенератора
Над проблемой периодически задумывался в течение многих лет. (Но не дождался такого приступа энтузиазма, чтобы броситься уже что-то кодировать.)

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

Вроде бы это вписывается в термин "scaffolding". (Он используется почему-то только в веб-программировании, до которого я пока не добрался.)

Плюсы подхода особенно хорошо проявляются, если ты — наёмный программист в чужой конторе:
+ поддерживающие код после тебя не столкнутся с незнакомой и загадочной для них "средой" или "фреймворком" — везде самый обычный код.
+ в случае, если начальство и коллеги являются противниками всяких велосипедных метаинструментов, можно им ничего не говорить — просто нагенерировать себе кода и далее работать с ним, при необходимости легко зачистить все следы от присутствия своего кодогенератора. И в VCS можно коммитить только сгенерированный код.
+ как вариант, ты автоматизируешь только свою собственную работу и получаешь профит или хотя бы конкурентное преимущество.

При написании инфосистем под заказ такой подход тоже оправдан: чем отдавать самому заказчику "средства конфигурирования", не лучше ли периодически (а лучше — систематически) брать с него денежку за поддержку?

BTW, к "среде" со своим "ядром" и динамической генерацией форм наверняка тоже можно приделать возможность сгенерировать те же формы и нужный им код статически (чтобы далее всё работало точно так же без среды и ядра).

P.S. под WPF кое-что есть, сам пока не смотрел: https://stackoverflow.com/questions/704337/scaffolding-for-wpf-using-mvvm

P.P.S. Совсем забыл про вариант "Model first", когда сначала набрасывается "метаописание" (возможно, в некоей "визуальной" или табличной тулзе, т.е. не в чисто-текстовой форме), а из него генерится и сама БД, и код. С возможностью реверса БД в модель. А ведь я как-то раз все же начинал кодировать свой велосипед — именно по этому варианту.