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

Сообщение Re[5]: Универсальный визард (мастер) от 07.01.2020 11:55

Изменено 07.01.2020 12:22 ·

Re[5]: Универсальный визард (мастер)
Здравствуйте, AeroSun, Вы писали:

M>>>В итоге — имеем .h и .cpp для включения в проект

AS>·>Зачем генерировать файлики-то? С++ вроде довольно мощный ЯП. Там и макросы, и шаблоны. Делаешь либу и реюзаешь... Понимаю ещё UI, там визуально нужно... но ведь это тупо код.
AS>Потому что целый пласт задач можно закрыть только через рефлексию, а её в плюсах нет.
AS>На макросах и шаблонах из-за отладки и неочевидности (говнокодовости) получается на порядки дольше + больше багов + тяжелее баги отлаживать + уродливее код (это для использования, потому что в либе будет вообще ад) + всё равно не покроет потребности.
AS>К примеру RPC — любое решение на макросах и шаблонах в итоге имеет уродливый синтаксис + всё равно надо контролировать самому и серверную и клиентскую часть. В отличии от генерации.
Это какие-то корявые античные RPC-решения. Сейчас принято класть в проект описание протокола (protobuf-файлы, например) и делать шаг в системе билда, который будет на лету создавать файлики и скармливать их компилятору. Включатся в проект только исходники, которые могут правится человеком, а не результат кодогенерации, который и видеть-то не нужно. Если приходится искать баги в сгенерированном коде, то надо что-то поправить в консерватории.
Re[5]: Универсальный визард (мастер)
Здравствуйте, AeroSun, Вы писали:

M>>>В итоге — имеем .h и .cpp для включения в проект

AS>·>Зачем генерировать файлики-то? С++ вроде довольно мощный ЯП. Там и макросы, и шаблоны. Делаешь либу и реюзаешь... Понимаю ещё UI, там визуально нужно... но ведь это тупо код.
AS>Потому что целый пласт задач можно закрыть только через рефлексию, а её в плюсах нет.
AS>На макросах и шаблонах из-за отладки и неочевидности (говнокодовости) получается на порядки дольше + больше багов + тяжелее баги отлаживать + уродливее код (это для использования, потому что в либе будет вообще ад) + всё равно не покроет потребности.
AS>К примеру RPC — любое решение на макросах и шаблонах в итоге имеет уродливый синтаксис + всё равно надо контролировать самому и серверную и клиентскую часть. В отличии от генерации.
Это какие-то корявые античные RPC-решения. Сейчас принято класть в проект описание протокола (protobuf-файлы, например) и делать шаг в системе билда, который будет на лету создавать файлики и скармливать их компилятору. Включаются в проект только исходники, которые могут правиться человеком, а не результат кодогенерации, который и видеть-то не нужно. Если приходится искать баги в сгенерированном коде, то надо что-то поправить в консерватории.