Здравствуйте, TG, Вы писали:
TG>Здравствуйте, gandjustas, Вы писали:
G>>Предварительная проверка нужна независимо от спора коды\исключения.
TG>Где-то на этом форуме уже обсуждали, что попытаться сразу выполнить операцию без предварительных проверок и проще и дешевле. Тем более, что результат такой проверки может стать неактуальным практически мгновенно.
Для начала почитай:
https://www.artlebedev.ru/best/ui/humaneness/
http://bureau.ru/bb/soviet/20150714/
http://medvedism.ru/blog/all/birman-ui-and-datavis-course-1/
Дальше включай мозг.
Вот есть примитивная программа, в ней только номер счета отправителя, номер счета получателя и кнопка "отправить".
И есть два варианта:
1) Проверки делать в момент отправки и в случае чего кидать пользователю ошибку.
2) Проверки делать в момент открытия программы и просто делать кнопку "отправить" неактивной.
В 99% случаев более уместен второй вариант. В этом случае операция не будет выполняться если не выполнены предусловия.
Конечно второй вариант будет для программиста сложнее, но тебе в конце концов платят деньги чтобы ты эти сложности преодолевал.
Конечно во втором варианте результат проверки "практически мгновенно" станет неактуальным. Но ты может также "практически мгновенно" его актуализировать. А учитывая, что перевод денег "практически мгновенно" в реальной жизни не происходит, то вполне можно подобрать достаточный интервал для актуализации.
ЗЫ. Самый дорогой ресурс, который ты можешь сэкономить или потратить — время пользователя. Оно прямо связано с расходами на эксплуатацию и с выручкой, если программа продается.