Итак, после мозгового штурма, устроенного здесь, как продолжение работ, описанных здесь за минувшее время была сделана реализация. Во многом отошедшая от начального замысла.
Нам удалось воплотить эпическую денежную дихотомию “дорогие идиоты - дешёвые идиоты”. Дорогой идиот - это я, дешёвый идиот - оператор GUI.
Документация по данным системы больше не нужна. GUI отныне самодокументированная сущность (в частности мы добавили в базу безразмерное текстовое поле Description).
Следующая фаза - экспорт из GUI в PDF. С выбросом оригинальных описаний в XLS и PDF - в утиль.
Update. О начинке библитеки. Забыл напомнить.
В библиотеке внутре керосинка!:
Отложенный во времени привет миру от нагадивших мне в душу Intel UPNP SDK (ООП на Plain C), Perl (значения по умолчанию), Ruby (Reflection), MVC/QT, ASN.1/asn1c (вся идея отрыва описания от реализации).
Ад и мета-программирование в комиксах.
Нам удалось воплотить эпическую денежную дихотомию “дорогие идиоты - дешёвые идиоты”. Дорогой идиот - это я, дешёвый идиот - оператор GUI.
- (M) База данных в SQlite3 - содержит данные на систему - 321 запись в основной таблице
- (V) GUI морда на QT/C++ - редактирование данных - 1160 строк
- (С) кодогенератор C на Python по данным базы (Чеусов! Фу! В вашем AWK нет SQlite и работы с BLOB!) - 290 строк
- библиотека в Plain C - набор API по работе с данными из кодогенератора - 4693 строки, включая Doxygen и пустые строки.
- Unit-тесты, Plain C - 1200 строк
Документация по данным системы больше не нужна. GUI отныне самодокументированная сущность (в частности мы добавили в базу безразмерное текстовое поле Description).
Следующая фаза - экспорт из GUI в PDF. С выбросом оригинальных описаний в XLS и PDF - в утиль.
Update. О начинке библитеки. Забыл напомнить.
В библиотеке внутре керосинка!:
- реализация собственной системы типов с колхозанским reflection
- полиморфизм и инкапсуляция на Plain C (ООП в стиле JavaScript)
- значениями по умолчанию у каждой из переменных
- системой нотификации изменений (как слинкованных приложений, так и посторонних процессов)
- Концепция “драйвер” (как аттрибут переменной) описывает способ доступа к данным (сейчас их 6).
Отложенный во времени привет миру от нагадивших мне в душу Intel UPNP SDK (ООП на Plain C), Perl (значения по умолчанию), Ruby (Reflection), MVC/QT, ASN.1/asn1c (вся идея отрыва описания от реализации).
Ад и мета-программирование в комиксах.