metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2010-11-08 03:51 pm

Кодогенераторное

И таки несамочевидное решение "сделать одноразовую опердень по-человечески, с кодогенератором, F# и тестершами" показало свою полезность и адекватность в первый же день использования оной опердени.
Пользователи по результатам уточнили требования, а внутреннее тестирование обнаружило небольшой баг, что привело к необходимости добавить одно поле в таблицу. Если бы не кодогенерация - я бы сейчас искал и менял вручную с десяток мест, где нужно добавить это поле - объект данных, его дампы, dao-классы, sql-запросы, гриды для отображения, подписи к этим гридам и прочая, и прочая.
А так доработка даже с учетом того, что кодогенератор пока не умеет миграцию БД ни в каком виде, заняла 40 минут.

[identity profile] xeno-by.livejournal.com 2011-07-10 09:24 pm (UTC)(link)
Ребе, можете, пожалуйста, подробнее пояснить? Интересно, как метапрограммирование отображается на зависимые типы.
upd. Нашел пост http://metaclass.livejournal.com/523635.html - читаю, если что, вопросы буду задавать уже там.
Edited 2011-07-10 21:26 (UTC)