Size: a a a

Software Design/Architecture/Zen

2021 January 08

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Igor Kot
Я спрашиваю, почему round глубоко-глубоко в вычислениях присутствует, а не в конце операции для результата?
Потому что в конце - нечего раундить - всё и так будет корректным
Кстати, что есть "операция"? У меня есть базовые функции, а есть high order function
источник

I

Igor Kot in Software Design/Architecture/Zen
Где он находится?
источник

I

Igor Kot in Software Design/Architecture/Zen
Почему ты решил что он безопасен, что у тебя не сломается что-то при других данных?
источник

I

Igor Kot in Software Design/Architecture/Zen
Или он всё-таки в конце операции?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Igor Kot
Где он находится?
источник

I

Igor Kot in Software Design/Architecture/Zen
const numberToPrice_ = (a: number, up = true) => up
   ? Number.parseFloat(a.toFixed(2))
   : Number.parseFloat((Math.ceil(a * 100 - .5) / 100).toFixed(2))
источник

I

Igor Kot in Software Design/Architecture/Zen
Это? А как понимать эти магические числа типа .5 ? Почему не .4?
источник

I

Igor Kot in Software Design/Architecture/Zen
Ты точно уверен, что твоя модель верная? Там столько делений/умножений.
Ты проверил на достаточном наборе тестовых данных?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Igor Kot
Ты точно уверен, что твоя модель верная? Там столько делений/умножений.
Ты проверил на достаточном наборе тестовых данных?
Уверен. На проде уже полгода стабильной работы. Если инварианты соблюдены... А в реальных условиях именно так - никто не закажет 3 товара, а потом вернёт 4 товара через системы, с которыми мы интегрированы
источник

a

atcq (Алексей)... in Software Design/Architecture/Zen
код там такой интересный
@blackakula не пробовали уменьшить количество скобок через использование ramda или аналогов?

ну те. конструкции   .map(({ total }) => total)))} вроде не очень удобно читать
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
atcq (Алексей)
код там такой интересный
@blackakula не пробовали уменьшить количество скобок через использование ramda или аналогов?

ну те. конструкции   .map(({ total }) => total)))} вроде не очень удобно читать
Не хотел либы другие использовать. Может, было бы красивее. Но команда пока не готова ни к рамбде, ни к пур-скрипт, ни к фп-тс. Писал без зависимостей нарочно
источник

I

Igor Kot in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
Уверен. На проде уже полгода стабильной работы. Если инварианты соблюдены... А в реальных условиях именно так - никто не закажет 3 товара, а потом вернёт 4 товара через системы, с которыми мы интегрированы
Мне всё же интересен этот частный вопрос, почему там .5?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Igor Kot
Мне всё же интересен этот частный вопрос, почему там .5?
это типа флаг: 0.5 - округлять к единице или к нулю - numberToPrice_(0.995, false) === 0.99
источник

I

Igor Kot in Software Design/Architecture/Zen
˸̧̨ ͅBlack Akula˸̧̨ ͅ ̤ ̬̪
это типа флаг: 0.5 - округлять к единице или к нулю - numberToPrice_(0.995, false) === 0.99
Какие граничные случаи тут стоит рассмотреть?
Эти?
0.996 => 1
0.995 => 0.99
0.994 => 0.99
0.99 => 0.99
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Igor Kot
Какие граничные случаи тут стоит рассмотреть?
Эти?
0.996 => 1
0.995 => 0.99
0.994 => 0.99
0.99 => 0.99
только 0.995 - граничный случай, в других случаях от флага не зависит
источник

I

Igor Kot in Software Design/Architecture/Zen
Это флаг в какую сторону округлять .005?
источник

I

Igor Kot in Software Design/Architecture/Zen
Выходит, что 0.994999.. пойдёт в 0.99, а 0.99500001 в 1 независимо от флага. Так? Тогда как быть с ошибкой флоата?
источник

˸A

˸̧̨ ͅBlack Akula˸̧̨ ... in Software Design/Architecture/Zen
Igor Kot
Выходит, что 0.994999.. пойдёт в 0.99, а 0.99500001 в 1 независимо от флага. Так? Тогда как быть с ошибкой флоата?
При чём тут ошибка флоата вообще?
Я написал, как работает https://t.me/oop_ru/158427
Пытаетесь найти несуществующие баги в вычислениях? Они бы были, если бы теор-модель была бы неверной
источник

I

Igor Kot in Software Design/Architecture/Zen
Складывается впечатление, что ты выложил свой код, чтобы его похвалили?
источник

I

Igor Kot in Software Design/Architecture/Zen
Ты сам утверждаешь, что твой код не подвержен проблемы флоата. Можешь вкратце объяснить почему?
источник