Re[3]: Использование метаданных в программах на языке C++
От: eao197 Беларусь http://eao197.blogspot.com
Дата: 08.09.05 14:35
Оценка: +1
Здравствуйте, Tom, Вы писали:

E>>В итоге получилось, что я написал ~230 строк генерирующего Ruby скрипта submit_deliver_gen.rb, плюс 42 строки DSL-я submit_deliver.rb. И получил ~430 строк сгенерированного C++ текста. Правда, потратил я на написание этого скрипта порядка 1.5 часов. Но, имхо, за это получил инструментик, который легко поможет мне как добавлять новые поля, так и менять реализацию работы с полями в генерируемом классе.

Tom>Самое прикольное будет через пару лет, когда ты уволишься а новый человек возьмётся всё это сопровождать. Думаю он подумает о тебе много хорощего:

Tom>

Tom>Кодировать нужно так, как будто человек который будет сопровождать этот код — маньяк, и он знает где вы живёте! (c) McConnell


Не вижу в этом случае никаких проблем с дальнейшим сопровождением.
Если бы я сделал пару-тройку многоярусных макросов и оставил кусок кода, который эти макросы использует, вот тогда, имхо, было бы больше шансов получить в спину пару ласковых слов. А так -- нормальный C++-ный код, с комментариями . Что хочешь, то и делай. Хочешь -- просто возьми результаты генерации, выброси Ruby DSL и правь дальше однаждый сгенерированный C++ный код. Хочешь -- переделай все под макросы, хочешь -- напиши другой генератор на Python-е и XML -- полная свобода.

Кроме того, имхо, разобраться в небольшом Ruby-скрипте гораздо проще, чем в сотне-другой copy-paste кода. Или каких нибудь шаблонных наворотах.
... << RSDN@Home 1.1.4 stable rev. 510>>


SObjectizer: <микро>Агентно-ориентированное программирование на C++.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.