Форум
Философия программирования
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, Shmj, Вы писали: S>Здравствуйте, yenik, Вы писали: Y>>[q] Y>>X DO NOT use exceptions for the normal flow of control, if possible. Y>>[/q] S>Дык... в том то и дело -- в нормальном случае операция проходит и вы отгружаете товар. А если перевести средства не удалось, то это не стандартная ситуация. S>Вот, даже наш местный MVP, спец. по guidelines, рекомендует юзать Exception: http://rsdn.org/forum/philosophy/6951261.1 S>Получается есть таки 2 лагеря? Y>>Видятся варианты. Y>>1) Y>>TransferValidationResult ValidateTransfer(int toAccount, decimal amount); Y>>long Transfer(int toAccount, decimal amount); // бросает исключение при неуспехе S>Пред. проверка обычно проходит иначе. Прежде чем пользователь переводит со счета, он видит остаток. Если там 0, то вы просто не отобразите кнопку "перевести средства" в GUI. Если попытается ввести сумму больше, то вы на уровне проверки вводимых данных не дадите этого сделать. S>По этому метод Transfer в обычной ситуации отработает, ведь пред. проверки делаютя в любом случае. Y>>2) Y>>bool TryTransfer(int toAccount, decimal amount, out TransferValidationResult transferValidationResult); S>Вот, никогда не видел ничего подобного. В обычном случае операция проходит, ведь пред. проверки делаются всегда.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …