Jun. 29th, 2011

mend0za: (Default)
Итак, после мозгового штурма, устроенного здесь, как продолжение работ, описанных здесь за минувшее время была сделана реализация. Во многом отошедшая от начального замысла.

Нам удалось воплотить эпическую денежную дихотомию “дорогие идиоты - дешёвые идиоты”. Дорогой идиот - это я, дешёвый идиот - оператор 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 (вся идея отрыва описания от реализации).

Ад и мета-программирование в комиксах.
mend0za: (Default)
Самый лучший фрагмент сгенерированного кода:


#define VARIABLE_NAME_272 “BmcIpv6StaticAddressInterfaceIdentifierSourceNonVolatile”
#define ConfBmcIpv6StaticAddressInterfaceIdentifierSourceNonVolatile 0x1a38

Profile

mend0za: (Default)
mend0za

June 2023

S M T W T F S
    123
45678910
11 121314151617
18192021222324
252627282930 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 9th, 2025 01:17 pm
Powered by Dreamwidth Studios