ACE по сравнению с Повышением по сравнению с Постепенно по сравнению с wxWidgets

Этого можно добиться, установив приоритет или зависимость, поддерживаемые в QAF , который является реализацией TestNg для BDD . Установка приоритета со сценарием должна сделать необходимое, например:

со сценарием QAF в DeleteAssets.feature может выглядеть следующим образом:

 @priority:100
 #or you can set dependencies like below
 #@dependsOnGroups:['create','schedule']
 @delete @otherGroup
 Scenario: Delete existing Asset
    Given ...

Примечание : синтаксис gherkin t поддерживает метаданные, поэтому вам нужно использовать синтаксис qaf bdd или bdd2 и соответствующую фабрику для запуска тестов.

17
задан marco.m 24 July 2012 в 12:22
поделиться

3 ответа

Я использовал части POCO время от времени и нашел, что это очень хорошая библиотека. Я в основном отказался от ACE несколько лет назад, но POCO содержит некоторые из тех же шаблонов - Task, Reactor и т. Д. У меня никогда не было проблем с этим, поэтому я должен предположить, что он стабилен.

Некоторые аспекты, которые мне нравятся:

  • Это довольно хорошо интегрированная иерархия ООП, поэтому компоненты хорошо работают друг с другом. У него гораздо более сплоченный вид, чем у чего-то вроде Boost, который довольно частичен.

  • Исходный код доступен и очень понятен. Вам не нужно выделять большие блоки времени, чтобы понять, что он делает (ACE, по крайней мере, последний раз, когда я смотрел на источник) или быть мастером шаблонов (Boost).

  • Компоненты придерживаются стандарта C ++. Исключения являются производными от std :: exception; они не t изобретать еще один класс строки и т. д.

  • Это удивительно всеобъемлющий. Там намного больше, чем кажется на первый взгляд.

Недостаток:

  • Вопрос личных предпочтений, но авторы в значительной степени придерживаются модели файла заголовка по одному классу, так что вы в конечном итоге включаете много разных файлов. .

  • Ограниченная документация. В основном страницы API типа Doxygen и несколько PDF-файлов, указывающих на исходные примеры. Он пригоден для использования, но, учитывая размер библиотеки, его изначально трудно определить, если вы наилучшим образом используете компоненты.

  • Если вокруг него построено активное сообщество, я его никогда не обнаруживал. Пакет поддерживается какой-то европейской компанией, и у них была вики, но я не нашел ее активной или полезной.

С учетом всех обстоятельств, недостаток довольно незначительный.

16
ответ дан 30 November 2019 в 13:21
поделиться

Я никогда не использовал ACE, но я использовал Boost и Poco. Мне очень нравится стиль кодирования Poco. Пакеты согласованы, и исходный код легко читается. Они не сумасшедшие как шаблон. Исходя из своего опыта, я часами читал, как использовать boost - пакет сериализации, контейнер карты указателей и т. Д., И мало времени читал, как использовать Poco. Я бы сказал, что они имеют хороший дизайн и используют шаблоны там, где это необходимо.

С другой стороны, у них есть документация по API, но у них нет обширной документации о том, как вы будете использовать пакет. Для этого вы обычно смотрите исходный код примера или исходный код их модульных тестов.

У меня HTTPServer работает на Windows / Linux без каких-либо явных ошибок.

Поэтому отметьте это как 1 положительный опыт.

6
ответ дан 30 November 2019 в 13:21
поделиться

Мне кажется, что boost имеет наибольшую тягу для новых библиотек C ++ и тот факт, что многие из них были приняты в Будущий стандарт C ++ говорит сам за себя.

Я использую ACE и Boost сам, и поэтому я выбрал их, потому что они зрелые (особенно ACE), имеют большое сильное сообщество пользователей, которое гарантирует, что они будут поддерживаться и улучшаться, и что я могу получить качественную профессиональную поддержку. Мы используем Remedy IT для нашей поддержки ACE / TAO и очень довольны.

Поскольку ACE является гораздо более старой библиотекой, чем Boost, и одной из ее целей является поддержка более экзотических (например, встроенных) платформ, которые она делает Не используйте такие передовые технологии C ++, как Boost. Я использую смесь ACE и Boost и очень доволен этой комбинацией.

Я не Я не совсем понимаю, почему вы выбрали wxWidgets, так как это в основном библиотека графического интерфейса. Но если бы мне пришлось делать некоторые проекты C ++ UI, я бы пошел с QT , в основном потому, что это также широко используемая библиотека (весь рабочий стол KDE построен поверх QT) и поэтому хорошо поддерживается, и я будет иметь доступ к большой базе пользователей для вопросов и поддержки.

2
ответ дан 30 November 2019 в 13:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: