Re[2]: Преимущества чистого кодогенератора
От: ltc  
Дата: 20.09.19 10:01
Оценка:
Здравствуйте, L_G, Вы писали:

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


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


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


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

Я считаю, что можно было бы данный недостаток побороть, используя автоматический мерж. Только мержить надо не плейн-текст, а синтаксические деревья. Причем не абстрактные, а конкретные, чтобы все форматирование сохранилось.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.