Використовуйте If
У книзі Дон Кнут про «GOTO's» я прочитав його, і він наводив причину того, що він завжди мав найімовірніший стан у першому випадку. За припущенням, що це все-таки розумна ідея (і не з чистого врахування швидкості епохи). Я б сказав, що раннє повернення не є хорошою практикою програмування, особливо враховуючи той факт, що вони частіше за все не використовуються для обробки помилок, якщо тільки ваш код швидше виходить з ладу, ніж не виходить з ладу :-)
Якщо ви будете дотримуватися наведених вище порад, вам потрібно буде поставити це повернення в нижній частині функції, і тоді ви можете навіть не називати його поверненням туди, просто встановіть код помилки і поверніть його два рядки. Тим самим досягається ідеал 1 вихід 1 вихід.
Специфічні для Delphi ...
Я маю на увазі, що це хороша практика програмування для програмістів Delphi, хоча я не маю доказів. Pre-D2009, ми не маємо атомний спосіб повернути значення, у нас є exit;
і result := foo;
чи ми могли б просто викинути виняток.
Якби вам довелося підставляти
if (true) {
return foo;
}
для
if true then
begin
result := foo;
exit;
end;
ви можете просто захворіти, побачивши це у верхній частині кожної з своїх функцій і віддайте перевагу
if false then
begin
result := bar;
...
end
else
result := foo;
і просто уникати exit
взагалі.