Кодогенераторное
Nov. 8th, 2010 03:51 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
И таки несамочевидное решение "сделать одноразовую опердень по-человечески, с кодогенератором, F# и тестершами" показало свою полезность и адекватность в первый же день использования оной опердени.
Пользователи по результатам уточнили требования, а внутреннее тестирование обнаружило небольшой баг, что привело к необходимости добавить одно поле в таблицу. Если бы не кодогенерация - я бы сейчас искал и менял вручную с десяток мест, где нужно добавить это поле - объект данных, его дампы, dao-классы, sql-запросы, гриды для отображения, подписи к этим гридам и прочая, и прочая.
А так доработка даже с учетом того, что кодогенератор пока не умеет миграцию БД ни в каком виде, заняла 40 минут.
Пользователи по результатам уточнили требования, а внутреннее тестирование обнаружило небольшой баг, что привело к необходимости добавить одно поле в таблицу. Если бы не кодогенерация - я бы сейчас искал и менял вручную с десяток мест, где нужно добавить это поле - объект данных, его дампы, dao-классы, sql-запросы, гриды для отображения, подписи к этим гридам и прочая, и прочая.
А так доработка даже с учетом того, что кодогенератор пока не умеет миграцию БД ни в каком виде, заняла 40 минут.
no subject
Date: 2010-11-08 04:14 pm (UTC)н - А давайте что ли не будем менять ТЗ за неделю до формального срока окончания задачи и когда всё наконец поменяется - оформим отдельной задачей перехуячивание.
з - Да.., действительно ..., что это мы ...
no subject
Date: 2010-11-08 04:16 pm (UTC)no subject
Date: 2010-11-08 04:22 pm (UTC)Сегодня анкету внутреннюю по проекту заполнял. Долго думал что вписать в графу "методология разработки" - предложенные варианты RUP, XP, Scrum - думал над ними - и вписал - (прочерк).
no subject
Date: 2010-11-08 04:51 pm (UTC)no subject
Date: 2010-11-08 08:21 pm (UTC)no subject
Date: 2010-11-09 06:37 am (UTC)no subject
Date: 2010-11-08 04:52 pm (UTC)no subject
Date: 2010-11-08 05:14 pm (UTC)no subject
Date: 2010-11-08 06:44 pm (UTC)no subject
Date: 2010-11-08 07:27 pm (UTC)Из ваших слов как-то думается что кодогенератор генерит новый скрипт для БД и потом в новую пустую базу данные переливаются? Или тупо ручками одно поле добавляли в уже существующую базу?
Когда-то делал попытки создать велосипед а-ля база Тенцера, но ниасилил. Выбросил на это дело ровно год и пришел к мысли - а нехер повторять функционал Delphi и сервера базы своими велосипедами - будет только хуже. Надо просто инструменты по назначению применять.
no subject
Date: 2010-11-08 07:38 pm (UTC)Для простых - в базу ручками - это одно место где нужно руками работать, а все остальное - запросы, классы, отчеты итд - генерируется.
И таки да - я тоже отказался от идеи повторять функционал существующих языков - это оказалось ненужным, неудобным, с протекающими абстракциями и медленным. Поэтому кодогенератор делает все точно так же как я бы это делал вручную - обычные таблицы, обычные поля, никакой рунтайм-интерпретации и EAV-моделей.
no subject
Date: 2010-11-09 10:37 am (UTC)no subject
Date: 2010-11-09 10:54 am (UTC)no subject
Date: 2010-11-10 07:42 am (UTC)А вот если бы была агда2 под точканет, ви бы его пользовали, ребе? ;-)
no subject
Date: 2010-11-10 08:54 am (UTC)no subject
Date: 2011-07-10 09:24 pm (UTC)upd. Нашел пост http://metaclass.livejournal.com/523635.html - читаю, если что, вопросы буду задавать уже там.