Что произошло с неявными возвращаемыми значениями в Ruby?

Таким образом, я начал смотреть на рубин, и много вещей выглядит хорошим, но я вполне пугаюсь неявных операторов возврата. Я понимаю то, чтобы заставлять все возвратиться сам или ноль по умолчанию, но не последнее значение оператора.

Мне это выглядит ужасно хрупким (особенно), если Вы работаете с методом, который не планирует возвратить что-то (особенно функция, которая изменяет метод состояния/разрушительный!), другие люди могут закончить тем, что полагались на возврат, который не важен для цели метода и имеет достойный шанс изменения.

Какой смысл неявного возврата? Существует ли способ, которым это делает некоторые вещи путем более простой?

Это считают хорошей практикой, чтобы всегда иметь возврат для предотвращения неявных возвратов?

Я волнуюсь к очень об этом?

P.S. Люди часто используют неявный возврат, когда они означают возвращать определенную вещь из метода, разве это не помогает другим людям в Вашей группе взломать каждый код других? Несомненно, зарегистрируйте все и дайте понятные имена, которые Вы могли бы сказать, но люди не всегда делают это в реальной жизни.

5
задан Roman A. Taycher 11 June 2010 в 08:06
поделиться

3 ответа

Убедитесь, что не добавляете операторы puts в конец метода или блока, если вы не хотите возвращать nil.

5
ответ дан 14 December 2019 в 01:02
поделиться

Вы слишком много беспокоитесь. За ~5 лет работы с ruby у меня не было случая, чтобы я ошибся в возвращаемом значении.

И это заставляет методы выглядеть действительно самообъясняющимися и улучшает читабельность. Я думаю, это очень естественно.

4
ответ дан 14 December 2019 в 01:02
поделиться

Хороший вопрос.

Вероятно, это одна из тех рубиновых функций, которые следует обрабатывать с помощью TLC ... а, TATFT ... Я имею в виду, сильное тестирование :)

Также это хороший стимул для предоставления RDocs для ваших методов, которые будут указывать ясно, что возвращают методы.

0
ответ дан 14 December 2019 в 01:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: