ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
265019 Топик полностью
=AlexD= (02.08.2011 14:23, просмотров: 207) ответил Evgeny_CD на Не только связывания, но и трансформации.
Ну понятно, что разное связывание тянет различия в коде. Я это делаю шаблонами,  когда интерфейс реализуется через параметризуемые классы, а затем стек протоколов собирается из шаблонов как матрёшка, в т.ч. подставляются параметры размеров буферов и пр. Код получается очень эффективен. Но есть и минусы. 1 Синтаксис С++ помогает собрать, но мешает понять написанное 2 Синтаксис С++ не совершенен, для элементарных вещей приходится пользоваться не очевидными ухищрениями. 3 Поиск ошибки порой просто ..здец, когда смотришь на 100500 этажные описания ф-ий в консоли компиляции. 4 Нет возможности графически посмотреть связи, для человека непосвящённого боюсь код похож на китайскую грамоту. Почему я так делаю? 1 Отлаживать шаблоны всё же проще, чем макросы 2 Не хочу держать 100500 разных реализаций одного и того-же для разных платформ, отлаживать и сопровождать весь зоопарк. 3 На 1 строку кода у меня 5 строк тестов, тестировать весь зоопарк я просто заипусь, отладил в отладчике VS, пересобрал для всех платформ, ошибка везде пофиксилась. Вносить изменения вручную - значит всё сломать, знаю по своему опыту. К примеру по ходу алгоритма используются методы логгера. Он написан так, что-бы его методы минимально захламляли текст программы. Для 8 битной платформы он заменяется на класс с пустыми методами, в итоге для него код вообще не генерится. Для хоста это мощнейший класс трассировки и логгирования событий. Для 32х бит embedded это нечто промежуточное. Всё то-же самое можно и на Си, но будет сильно менее элегантно. Пример с эмуляцией периферии контроллера путём подстановки вместо имён регистров своих классов-обработчиков я уже приводил. В общем что сказать, всё было бы хорошо, но синтаксис С++... это реальная засада и проблема, но это единственный инструмент, доступный для большинства платформ. А с базой я плохо себе представляю как оно работать будет.
надо придумать объяснение этому мудизму, иначе рехнуться можно