Форум
Философия программирования
Тема
Как правильно задавать вопросы
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
Здравствуйте, yenik, Вы писали: S>>Давайте ближе к нашему примеру с переводом средств. Вы бы делали NotEnoughMoneyException или код возврата? S>>В guidelines не вижу нигде совета делать коды возврата для данного сценария, наоборот написано "DO [b]NOT[/b] return error codes". S>>[i]Перевод средств с пустого счета целиком аналогичен открытию несуществующего файла. Если при открытии несуществующего файла принято выбрасывать исключение, то почему при переводе с пустого счета нужно поступать иначе?[/i] Y>[q] Y>X DO NOT use exceptions for the normal flow of control, if possible. Y>Except for system failures and operations with potential race conditions, framework designers should design APIs so users can write code that does not throw exceptions. For example, you can provide a way to check preconditions before calling a member so users can write code that does not throw exceptions. Y>The member used to check preconditions of another member is often referred to as a tester, and the member that actually does the work is called a doer. Y>There are cases when the Tester-Doer Pattern can have an unacceptable performance overhead. In such cases, the so-called Try-Parse Pattern should be considered (see Exceptions and Performance for more information). Y>[/q] Y>Видятся варианты. Y>1) Y>TransferValidationResult ValidateTransfer(int toAccount, decimal amount); Y>long Transfer(int toAccount, decimal amount); // бросает исключение при неуспехе Y>2) Y>bool TryTransfer(int toAccount, decimal amount, out TransferValidationResult transferValidationResult);
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …