ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
95349 Топик полностью
Evgeny_CD (26.07.2007 15:13, просмотров: 1) ответил Evgeny_CD на Система тестирование софта - сведение воедино всех идей. Версия 0.00 -> картинка
Кстати, система с яркими точками гораздо проще в использовани, чем кажется. Есть код. Есть %любимый редактор%. Становимся на пустую строку. Жмем хоткей. Макрос в редакторе рожает: #ifdef BRIGHT_POINTS brightpoit_service (__file__, __line__, __func__, "юзер камент"); #endif Если макрос не тупой, оно еще и проверит наличие в начале файла #ifdef BRIGHT_POINTS inclide brigh_point_service.h #endif brightpoit_service - блокирующая функция. Она прерывает выполнение процесса до своего завершения. Ее реализация, например, такая: open_command_soсket(); // открыли сокет к логгер-серверу open_responce_soсket(); sprintf (__file__, __line__, __func__, "юзер камент", host_OS_time); read (responce_soсket); //блокирующая операция! ждем, пока сервер отработает close_soсket(command_soсket); close_soсket(responce_soсket); return(); логгер сервер, в свою очередь, все полученное барахло запихивает в SQL базу. Потом шаримся по этой базе и строим граф переходов. Статистику и пр. Всякие анализаторы кода нервно курят. Ибо в условной компиляции даже компилер запутается, не говоря уже про код, который дынными управляется. Потом, просматривая отработавший код, задаем вопросы всякие к базе - типа а какова статистика ветвления по этому узлу? И сразу становится понятно, какую ветвь надо оптимайзить, а какую - нет :)))) Можно написать скрипт, которому задаешь набор файлов проекта - он в них во всех в начале функций и в районе точек ветвления такую хрень ставит. Гениальность идеи синтетических портов состоит в следующем. Вот есть код. Он состоит из абстрактной части и платформенно зависимой части. Меняем зависимую часть на заглушки, чтобы запустить код на любой host платформе. С - это последовательноть действий, который будут выполнены незаивисимо от целевой платформы. Хоть в brain fuck процессор компили - пофиг. Посему результат корректного С кода одинаков на всех платформах - ради этого 30+ лет над С рачаться. (а за некорректный С код надо программеров драчить). Запустив код на хост платформе, мы можем подвергуть его любым изнасилованиям, какие только надо, при этом все модификации легко могут быть забанены через условную компиляцию при сборке целевого проекта. Никакие ЖЫТАГИ не заменят "дроччер" и "логгер", который я описываю в своих постах. (никакой симулятор не заменит ЖЫТАГ при отлове аппаратных глюков - каждому свое! Но инвариантную логику отлаживать на ДЖИТАГЕ глупо, что бы Вам не говорили впариватели ЖЫТАГОВ!!!!!!!)