-
- Какие инструменты модульного тестирования (на ПК) можно
использовать для вариативного шаблона, вариативной шаблонной лямбде
и прочих прелестей С++20? VVB(98 знак., 14.01.2022 11:27)
- Любую систему тестирования. Разницы никакой, поскольку тестируется
конечный выполняемый бинарный код полученный из шаблона. Сами по
себе шаблоны смысла тестировать нет. RxTx(443 знак., 15.01.2022 00:54)
- Э не... В шаблоне могут быть алгоритмы работы с типами, влияющими на результат инстанцирования. Эти алгоритмы тоже надо как-то проверять. Сейчас это делается руками. Проверка инстанцированного кода это уже прикладная задача. Но ведь библиотечный код, состоящий из шаблонных классов, тоже надо проверять. VladislavS.(492 знак., 15.01.2022 08:26)
- Попробую показать как можно тестировать работу метапрограмм. VladislavS.(2421 знак., 14.01.2022 20:29)
- Я для ПК почти не пишу, так что и без шаблонных лямбд затрудняюсь ответить на этот вопрос. Из общих соображений. Любая программа в конце концов принимает на вход реальные данные и на выходе что-то производит. Вот и нужно найти такое сечение где ещё/уже нет шаблонов. В эмбедде я пользуюсь выводом отладочной информации, осциллографом и логическим анализатором, заглядываю отладчиком в регистры. Просто листинги смотрю. Это всё не зависит от того есть там лямбды или нет. - VladislavS.(14.01.2022 18:33)
- Любую систему тестирования. Разницы никакой, поскольку тестируется
конечный выполняемый бинарный код полученный из шаблона. Сами по
себе шаблоны смысла тестировать нет. RxTx(443 знак., 15.01.2022 00:54)
- Тестировать глазками асмовый код - это спираль развития зашла на новый виток. Так было где-то на заре развития компиляторов. - Evgeny_CD(12.01.2022 10:49)
- Это уже было. "Оно скомпилировалось? Да, босс. Оно запустилось? Да, босс. Оно показало заставку? Да, босс! Так почему мы еще не продаем его?!" Из анекдотов про Билла нашего Гейтса. - Evgeny_CD(12.01.2022 10:46)
- 1) Смысл тестирования в том, чтобы загнать на вход всё возможные
значения и во всех случаях получить корректный результат.
Тестирование должно быть автоматизированным, тест пишется один раз.
В случае шаблонного кода это сложно или невозможно реализовать. evgeniy1294(334 знак., 12.01.2022 10:31)
- Код сам себя постоянно тестирует. Сейчас в ход концепты пошли. Вы
параметры шаблонов так можете обложить, что ни одна муха не
проскочит. Отсутствие повторений при каждой компиляции проверяется
автоматом. VladislavS.(682 знак., 12.01.2022 10:51)
- Всё это в своё время я уже делал. Допустить ошибку в какой-нибудь
проверочной лямбде довольно легко, так что код безопасней не
становится. Вы можете сказать, что ошибки будут выловлены,
когда-нибудь, но производитель уже сделал это за вас. evgeniy1294(1 знак., 12.01.2022 11:03, ссылка)
- В таком виде это не сильно отличается от того что можно сделать
макросами в С. Ну, разве что, более строгая проверка типов.
Например, метод Toggle. VladislavS.(1508 знак., 12.01.2022 11:35)
- * В таком виде это не сильно отличается от того что можно сделать
макросами в С. evgeniy1294(783 знак., 12.01.2022 12:19)
- Зачем вы делаете выводы о моём коде по паре функций из библиотеки? То что пишется эвридэй сильно проще. :) VladislavS.(1057 знак., 12.01.2022 13:15)
- У вас глагол is отсутствует в static_assert. This gpio IS not... А
по коду ппц неаккуратно с указателями. И constexpr любимый вами
загромождает код. Думаю, и без этого компилятор умеет
оптимизировать. 0xFFFF надо заменить на какой-нибудь const или
#define (шучу). - Costic(12.01.2022 11:59)
- IS отсутствует в моём коде. Ну да и хрен с ним, я эту либину забросил. - evgeniy1294(12.01.2022 12:22)
- * В таком виде это не сильно отличается от того что можно сделать
макросами в С. evgeniy1294(783 знак., 12.01.2022 12:19)
- В таком виде это не сильно отличается от того что можно сделать
макросами в С. Ну, разве что, более строгая проверка типов.
Например, метод Toggle. VladislavS.(1508 знак., 12.01.2022 11:35)
- Всё это в своё время я уже делал. Допустить ошибку в какой-нибудь
проверочной лямбде довольно легко, так что код безопасней не
становится. Вы можете сказать, что ошибки будут выловлены,
когда-нибудь, но производитель уже сделал это за вас. evgeniy1294(1 знак., 12.01.2022 11:03, ссылка)
- Код сам себя постоянно тестирует. Сейчас в ход концепты пошли. Вы
параметры шаблонов так можете обложить, что ни одна муха не
проскочит. Отсутствие повторений при каждой компиляции проверяется
автоматом. VladislavS.(682 знак., 12.01.2022 10:51)
- Какие инструменты модульного тестирования (на ПК) можно
использовать для вариативного шаблона, вариативной шаблонной лямбде
и прочих прелестей С++20? VVB(98 знак., 14.01.2022 11:27)