-
- float по-отдельности тоже проверять нужно. NaN в расчетах ничего
хорошего не принесет. - rezident(23.10.2021 16:44)
- Зачем, если CRC пакета не нарушено? - RxTx(23.10.2021 16:46)
- На стороне отправки пакета тоже ошибки в последовательности
передачи байт/слов могут наличествовать. Например, при передаче
float по протоколу ModBus. При этом чаще всего float передается в
виде двух 16-битных "регистров" последовательностью байт 3-4-1-2, а
не 1-2-3-4 или 4-3-2-1, как бы вы предположили. - rezident(23.10.2021 16:58)
- Эта проблема решается в дебаггере на этапе разработки один раз.Если
известен диапазон чисел прикладной задачи проверить можно.
Остальные решения ненадежны. - RxTx(23.10.2021 17:13)
- Вы в дебаггере один раз отладили. Потом через год другой
программист на другой стороне протокола что-то переделает, и ваша
программа начнёт глючить вместо того, чтобы просто ошибку выдать.
Это может не выявиться при тестировании, а выявится на объекте. - Ale3000(25.10.2021 06:25)
- А так-то я почти со всеми авторами согласен. Во всяком случае, я _понимаю_ что они пытаются донести. Но не уверен что понимают меня :) - RxTx(25.10.2021 13:35)
- Моя исходная посылка была в том, что это проверяется на уровне пакета протокола и в том, что формат float нельзя со стопроцентной уверенностью проверить. Например, всегда проверяется версия пакета, правильное число байт и контрольная сумма. - RxTx(25.10.2021 13:34)
- Если кто-то перепутал байты, то долго можно огребать глупости и
выявить только в случае явного выхода за границы проверок.
Регрессионный тест по-хорошему должен делаться с заданием
параметров у ведомого и сравнением принятого образцовым решением
ведущего. В таком случае на этапе дебага при достаточном наборе
значений можно проверить отсутствие явных ляпов. Vit(1102 знак., 25.10.2021 07:45, ссылка)
- При подсчете денег особенно актуален вопрос, можно ли вообще
применять вещественные числа :) - VLLV(25.10.2021 11:01)
- Категорически нельзя! В реляционных БД деньги хранят и считают (в
триггерах, хранимых процедурах) в особых денежных форматах ~
(MONEY, CURRENCY) иногда встроеных, иногда алиасах, скажем
NUMERIC(15,2), также отражаемых в ПО на клиентской части. Ко всему
прочему, при операциях с денежными форматами действуют принципы
бухгалтерского округления и ряд других вещей. - RxTx(25.10.2021 13:44)
- и все равно мне как-то приходила автоматическая выписка из банка с
точностью в нанокопейки. java такая java - Mahagam(25.10.2021 14:16)
- Да. Смутно припоминаю такое же веселье. - RxTx(25.10.2021 14:32)
- Тут в новостях попалась тётка, которую не выпустили за границу за
6коп долга. Ташта и нанокопейка нанорубль бережот! - mse homjak(25.10.2021 14:19)
- Налоговая за неоплаченный долг сколько-то копеек штрафанет. Потом
за неоплаченный штраф (а он - долг) еще раз штрафанет. И это всё на
том фоне что ты можешь пребывать в полной уверенности что "всё
оплачено", до той поры пока не придет арест и списание какой-то
суммы на банковский счет. А потом, за то что ты вовремя не явился
за N дней (тебя якбы "предупреждали") - тебе выкатят сумму-штраф за
работу налоговых приставов. Ну ладно, ты оплатил сумму и выслал ее
ценным RxTx(161 знак., 25.10.2021 14:42)
- Еще и не так бывает --> MBedder(1 знак., 25.10.2021 14:42, ссылка)
- Налоговая за неоплаченный долг сколько-то копеек штрафанет. Потом
за неоплаченный штраф (а он - долг) еще раз штрафанет. И это всё на
том фоне что ты можешь пребывать в полной уверенности что "всё
оплачено", до той поры пока не придет арест и списание какой-то
суммы на банковский счет. А потом, за то что ты вовремя не явился
за N дней (тебя якбы "предупреждали") - тебе выкатят сумму-штраф за
работу налоговых приставов. Ну ладно, ты оплатил сумму и выслал ее
ценным RxTx(161 знак., 25.10.2021 14:42)
- и все равно мне как-то приходила автоматическая выписка из банка с
точностью в нанокопейки. java такая java - Mahagam(25.10.2021 14:16)
- Ну натуральных-то чисел для этого явно не хватит. :) - rezident(25.10.2021 11:46)
- Натуральных бы хватило, но все равно нужно конвертировать, и тут
начинаются уязвимости VLLV(330 знак., 25.10.2021 11:58)
- Робин Гуд нашего времени. Поделом этим банкстерам! - SciFi(25.10.2021 12:09)
- Мне это напоминает упреки экономиста физику (из реального разговора
между прочим). "Вот у вас в физике, что ни формула, то равна нулю.
А у нас, экономистов формула "товар-деньги-товар" и нигде! нулю не
равно!" ;-) rezident(97 знак., 25.10.2021 12:06)
- Жизнь - боль. Toчкa oпopы(1 знак., 25.10.2021 12:43, картинка)
- Натуральных бы хватило, но все равно нужно конвертировать, и тут
начинаются уязвимости VLLV(330 знак., 25.10.2021 11:58)
- Категорически нельзя! В реляционных БД деньги хранят и считают (в
триггерах, хранимых процедурах) в особых денежных форматах ~
(MONEY, CURRENCY) иногда встроеных, иногда алиасах, скажем
NUMERIC(15,2), также отражаемых в ПО на клиентской части. Ко всему
прочему, при операциях с денежными форматами действуют принципы
бухгалтерского округления и ряд других вещей. - RxTx(25.10.2021 13:44)
- При подсчете денег особенно актуален вопрос, можно ли вообще
применять вещественные числа :) - VLLV(25.10.2021 11:01)
- Вы в дебаггере один раз отладили. Потом через год другой
программист на другой стороне протокола что-то переделает, и ваша
программа начнёт глючить вместо того, чтобы просто ошибку выдать.
Это может не выявиться при тестировании, а выявится на объекте. - Ale3000(25.10.2021 06:25)
- Эта проблема решается в дебаггере на этапе разработки один раз.Если
известен диапазон чисел прикладной задачи проверить можно.
Остальные решения ненадежны. - RxTx(23.10.2021 17:13)
- Там такой колхозный протокол у заказчика для калибровки, CRC есть, но данные пишутся по 4 или 2 байта в память, где находится структура с float. Можно захерачить все, что угодно, при исправной CRC. До сих пор не пойму, какие это индейцы должны быть. - VLLV(23.10.2021 16:51)
- На стороне отправки пакета тоже ошибки в последовательности
передачи байт/слов могут наличествовать. Например, при передаче
float по протоколу ModBus. При этом чаще всего float передается в
виде двух 16-битных "регистров" последовательностью байт 3-4-1-2, а
не 1-2-3-4 или 4-3-2-1, как бы вы предположили. - rezident(23.10.2021 16:58)
- Зачем, если CRC пакета не нарушено? - RxTx(23.10.2021 16:46)
- float по-отдельности тоже проверять нужно. NaN в расчетах ничего
хорошего не принесет. - rezident(23.10.2021 16:44)