All streams
Search
Write a publication
Pull to refresh
14
0
Сергей Б. @sergey-b

Пользователь

Send message
Ну так в компьютерных играх этот тип незаменим. Он просто для финансовых операций не подходит.
Просто мы с вами используем разный понятийный аппарат. То, что вы называете «отрицательным активным счетом» я называю «кредитовым сальдо по активному счету». Когда вы говорите, что «пассивный счет не может быть положительным», я говорю:
«Образование в конце дня в учете дебетового сальдо по пассивному счету или кредитового по активному счету не допускается».

Поскольку я обхожусь без понятий отрицательной суммы, то могу следить за тем, чтобы сумма была не меньше нуля.
double a = 1111111.100001d;
double b = 333333330.0003d / 300d;
Console.WriteLine(a == b); // False
Вы совершенно правы. Даем 1000₽, получаем по курсу 58.79₽/$ 17.0096$.

Если округлить в большую сторону, то получится 17.01$ на руки и потеря (хотя, кому-то и выгода) 2 копеек. А на самом деле нужно округлить до 17.00$ и выдать 57 неразменянных копеек на сдачу.
Представляете, если бы я вместо слов «хозяйственная деятельность», расписал бы как вы, что можно сделать со счетом доходов. Это был бы неоправданный оффтоп. А в комментариях эти подробности смотрятся очень даже гармонично.
Каждый переход суммы через ноль — это инцидент требующий анализа. В данном случае разработчики такой анализ не провели. Они просто показали вам знак минус, а вы сами разберетесь, что это значит, потому что вы помните, что вы с запасом платили.

Теперь представьте, что кто-то вам закинул без вашего ведома 380 евро. Вы помните, что у вас долг около 200, заходите и видите -190.33. Вы быстренько берете и закидываете заготовленные 200. Потом, когда сумма станет -390.33, вы поймете, что это значит, до следующего раза, который произойдет может быть через год.

А надо было вместо знака минус написать словами Переплата или Собственные средства.

Таков мой подход. Я, между прочим, его никому не навязываю, о чем написал в самом начале статьи.
О, спасибо. Вспомнил 6-е правило: не экономьте на вычислениях с суммами.
Это значит, что признак дебета-кредита сохранили внутри числа в знаковом бите. При этом в команде должен быть супергуру, который помнит, что на пассивных счетах отрицательные суммы означают дебет, положительные кредит, а на активных наоборот. Остальные же разработчики воспринимают эти понятия как магию и боятся заглядывать в код, который ее реализует.

Мой подход таков: Каждый переход суммы через 0 — это инцидент, требующий анализа. Когда же мы используем знак, то мы просто откладываем расследование этого инцидента со стадии разработки в рантайм.
Боюсь, что в банках в этом плане полный зоопарк. В пределах одной АБС может быть в одной таблице decimal, а в другом bigint или даже float. Поскольку нигде нет документации, где сказано: «Вот делайте так, и да пребудет с вами Cила».
На это в кредитной организации должны быть нормативные документы. Разработчик тут решать не может. В отсутствие четких требований я бы сформулировал следующие правила:

  • Количество округлений должно быть минимизировано
  • Если промежуточное значение фиксируется в документах, то его надо округлить
Так ли часто бывает, что у держателя карты нет денег на счету, а он этой картой за границей расплачивается? Как же ему визу дали?

Думаю, в основной массе там имело место списание платы за обслуживание. И вот тут как раз вопрос, куда они эти средства зачислили. Если в доходы, то это провал.
При всем уважении к производителям банковского софта я бы не решился назвать описанные вами нюансы очень сложными. И что-то пока даже по работе ведущих банков не заметно, чтобы разработчики сами хорошо владели своим ноу-хау.
Какую монету наименьшей ценности выберем для биткоина?
Когда начинают экономить, первыми уходят самые профессиональные сотрудники. У них нет проблем с поиском нового места. Приспособленцы, лентяи, формалисты, случайные попутчики обычно держатся за свои места до последнего. Просто потому что им труднее найти теплое местечко в другой компании.
Как минимум, я в своих проектах давно отказался. А это уже немало.
В Java была технология Java 2 Security Permissions, но после того как всякие полезные библиотеки от Apache стали требовать AllPermissions, то от дальнейшего развития этой фичи отказались.
я свою проблему лагов Проводника решил через удаление TortoiseSVN, TortoiseGIT и TortoiseHg.


Зачем нужен Windows Explorer без этих прекрасных утилит?

Я эту проблему решаю опцией «Hide menus for unversioned paths».
Яндекс растет.
Яндекс обычно дает скидку после жалобы. Так что не бесплатно.
Если бы производители браузеров заботились о безопасности пользователей, они бы позволили настраивать политики просмотра содержимого сайта самим пользователям.

Основные проблемы с новыми технологиями безопасности заключаются в том, что все хотят торговать не своими услугами, а клиентами, пришедшими за этими услугами. Грубо говоря, сайт бесплатно показывает клиентам фотографии няшных котиков и заодно продает другим, более платежеспособным клиентам, просмотры рекламы, статистику и персональные данные. Именно поэтому на большинстве сайтов открывается куча айфреймов, запускается множество левых скриптов, и простой пользователь не может их сам заблокировать.

Дайте мне нормальный браузер, и я сам настрою в нем, чтобы при открытии сайта instabook.com не загружалось ничего, кроме скриптов из домена instabook.com, и доступ к кукам в яваскрипте отключу. А если что-то из-за этого перестанет работать, браузер пусть аккуратно покажет, в чем проблема. Но нет, мы будем создавать новые «технологии безопасности» и ждать, когда все сайты на них перейдут.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity