The following text is a partial translation of the original English article, performed by ChatGPT (gpt-3.5-turbo) and this Jekyll plugin:
Этот дебат очень старый, но у меня тоже есть что сказать. Вопрос заключается в том, может ли метод иметь несколько операторов return
или всегда только один. Ответ может вас удивить: в чисто объектно-ориентированном мире метод должен иметь один оператор return
и ничего больше. Да, только оператор return
и все. Никаких других операторов или выражений. Только return
. Все аргументы в пользу нескольких операторов return
противоречат самой идее объектно-ориентированного программирования.
Это классический пример:
Код выше содержит два оператора return
и он короче, чем этот с одним оператором return
.
Более подробный, менее читаемый и медленный, верно? Верно.
Это код в чистом объектно-ориентированном мире:
Что вы думаете сейчас? Здесь нет никаких операторов и выражений. Нет if
и нет >
. Вместо этого есть объекты класса If
и GreaterThan
.
Это чистый и ясный объектно-ориентированный подход.
Однако в Java этого нет. Java (и многие другие псевдо ООП-языки) предоставляет нам операторы, такие как if
, else
, switch
, for
, while
и другие, вместо встроенных классов, которые могли бы делать то же самое. Из-за этого мы продолжаем думать в терминах процедур и продолжаем говорить о том, лучше ли два оператора return
или один.
Если ваш код действительно объектно-ориентированный, у вас не будет более одного оператора return
. Более того, в каждом методе у вас будет только оператор return
, ничего больше. Фактически, во всем программном обеспечении будут только два оператора - new
и return
. Вот и все.
Пока мы не достигнем этого, давайте придерживаться только одного оператора return
и по крайней мере попытаемся выглядеть как чистый ООП.
Translated by ChatGPT gpt-3.5-turbo/42 on 2023-12-27 at 14:03