Я хотел бы узнать ваше мнение об использовании взаимозаменяемых операторов return
и else
в CFScript. Я обычно использую следующий синтаксис:Может возвращать, а также выражения могут быть взаимозаменяемы в CFScript?
if (something) {
// Do something
}
else {
// Do something else
}
Недавно мне пришло в голову, я мог бы сделать это вместо:
if (something) {
// Do something
return;
}
// Do something else
бы дать эти два стиля другого конечного результата? Мне не нравится обертывать код в операторе else
. Мое мышление заключается в том, что если оператор if
оценивает значение true и возвращает его, код под ним не будет работать. Если он не оценивает значение true, то код ниже этого будет выполняться независимо от того, заключен ли он в оператор else
или нет.
Звучит ли это правильно?
Да, если вы используете «возврат», это правильно. Если это одна или две строки кода, я предпочитаю второй метод. Но более того, первый метод более читабельный/интуитивно понятный ИМО. – Leigh
См. Http://stackoverflow.com/questions/36707/should-a-function-have-only-one-return-statement для исчерпывающего обсуждения этой идеи на всех языках программирования. Ваш пример # 2 называется «Заявление о защите» Фаулера. – orangepips
@orangepips +1 для потрясающей нити – Leigh