Вверх ↑
Главный модератор
Ответов: 2999
Рейтинг: 396
#1: 2013-04-14 21:40:08 ЛС | профиль | цитата
Следующий пост был опубликован 13 января 2012 года:
Nic писал(а):

« Класс ориентированная разработка (COD).
COD - это очевидная структура разрабатываемых компонентов при помощи кодогенераторов FTCG и RTCG.
За основу будущего компонента выбирается какой-либо класс фреймворка .NET, затем,
по описанию членов класса создается ini-файл компонента (можно написать утилиту для "выкусывания" данных из документации).
Далее, наполнение hws-файла методами (опять же, возможно брать эту информацию из документации). И последний этап отладка и корректировка.
Создание такого подхода к разработке компонент не только поможет увеличить скорость процесса,
но и защитит новый пакет от повторения "старых" ошибок и отвлечёт от желания тащить в него "пережитки" прошлого наследия.
Предлагаю в первую очередь сделать graber-convertor информации из документации в макеты файлов ini и hws. »

Какова ситуация сегодня? Идея создания программы, которая бы сама строила компоненты, реализована. С помощью программы ElementMaker сегодня можно получать некоторые виды низкоуровневых элементов для кодогенератора RTCG из содержимого HTML документации, которая идёт вместе с MSVS2010. Под понятием низкоуровневый надо понимать элемент, результатом вызова метода которого, как правило, является одна строка целевого кода на ЯВУ. Программа строит низкоуровневые элементы по следующим видам информации:
- по классам, некоторых видов;
- по интерфейсу;
- по перечислению;
Примером таких элементов, являются все визуальные контролы пакета CNET построенные на классах из постранства имён System.Windows.Forms и многие другие. Есть в пакете и высокоуровневые элементы, которые, как правило, строят более одной строки целевого кода ЯВУ на вызов одного метода. Примером такого элемента можно назвать TCP_client из Internet вкладки. Наверняка, можно построить подобный элемент из нескольких низкоуровневых элементов, но пока, на мой взгляд, более эффективный (по времени) способ создания таких элементов - это целевой поиск в интЫрнете исходных кодов и использование "готовых" классов (исходников) и сборок (DLL). Примером использования сборок являются элементы для работы с другими языками: VBScript, JScript и IronPython, а также вся вкладка Adobe для работы с программами InDesign, Photoshop и Acrobat, как COM-серверами.
Конечно, есть проблемы:
- несовершенство кодогенератора;
- ограничения, накладываемые средой;
- отсутствие поддержки HiAsm сообщества;
Но, несмотря на проблемы, пакет CNET развивается, хотя и медленнее, чем хотелось бы. В данный момент, происходит пересмотр, всех ранее сделанных, элементов на предмет соответствия достигнутому уровню пониманию возможностей кодогенератора и построение wiki документации по всем элементам на английском языке. После завершения "перетряски" и с разрешения автора HiAsm, будут опубликованы версии пакета для 4-ой и 5-ой версий среды.
карма: 6
Дорогу осилит идущий. Install/Update HiAsm.NET
0