Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Сколько return'ов должно быть в функции/методе?

Чулан
Недавно у меня с коллегой возник спор насчет количества return'ов, которое должно быть в функции/методе. Он считает что return в функции должен быть один, а результат можно подготавливать в локальной переменной. Я же считаю что следует ставить return в каждом месте где можно вернуть значение из функции.
А как думает уважаемое Хабрасообщество?
Читать дальше →
Всего голосов 26: ↑19 и ↓7+12
Просмотры1K
Комментарии 59

Не используйте return в Scala

ПрограммированиеScalaФункциональное программирование
Перевод

Сегодня я бы хотел представить вашему вниманию перевод небольшой статьи Роберта Норриса, возможно, знакомого вам под никнеймом tpolecat. Этот человек достаточно хорошо известен в Scala-сообществе как автор бибилиотеки doobie и участник проекта cats.


В своей публикации Роберт рассказывает о том, что использование return может негативно повлиять на семантику вашего кода, а также проливает свет на пару интересных особенностей реализации return в Scala. Оригинал статьи вы можете найти в блоге автора по ссылке.

Чем же так плох return?
Всего голосов 27: ↑24 и ↓3+21
Просмотры9.7K
Комментарии 10

Почему ранний возврат из функций так важен?

ПрограммированиеСовершенный код
Из песочницы
Привет, Хабр! Представляю вашему вниманию перевод статьи «Why should you return early?» автора Szymon Krajewski

image

В начале моего приключения в роли программиста мой код зачастую напоминал вермишель. В любых условных выражениях я только и делал, что сразу переходил к описанию верного исхода, оставляя на конец остальное. «Это работает, вот и все», — говорил я себе, а код продолжал расти, как на дрожжах. Тысячи написанных методов в итоге заставили меня задуматься, а не стоит ли поменять их внутреннюю логику, возвращая отрицательные результаты как можно раннее. Таким образом, я пришел к тому, что теперь называю правилом «неотложного провала».

Очевидно, что существует несколько подходов написания одной и той же функции. Например, как можно начать выполнение основной части сразу после положительного исхода условного оператора, так и можно сначала пробежаться по всем отрицательным исходам, возвращая ошибки из функции, а уже только потом перейти к основной логике. Иными словами, я открыл для себя разные стили написания условных конструкций.
Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Просмотры28K
Комментарии 175

Самый полный русскоязычный перевод Гарвардского курса по программированию CS50 2015, бесплатно на YouTube

Программирование
Из песочницы
В этой статье я хочу немного рассказать о самом лучшем в мире курсе по программированию.

С 2013 года наша небольшая команда занимается переводом и адаптацией англоязычных видеокурсов. За это время мы перевели и адаптировали свыше 150 часов материала. Перед тем как приступать к работе, мы анализировали материалы нескольких обучающих онлайн-школ, и выбирали, на наш педагогический взгляд, самую лучшую, которая максимально доступно, структурированно и кратко подаёт обучающий материал. В результате чего нам приходилось просматривать по несколько курсов касающихся одной и той же тематики, а после выбирать тот, который наиболее качественный и доступный для понимания новичкам.

Как оказалось, действительно качественных курсов и преподавателей не так уж и много. В русскоязычном обучающем пространстве достаточно часто встречаются пересъёмки или адаптация зарубежных курсов, которые пользуются популярностью у американских или европейских специалистов.

image
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Просмотры51K
Комментарии 27

Как уменьшить использование памяти и ускорить работу кода на Python с помощью генераторов

Блог компании OTUSPython
Перевод

Всем привет. Сегодня хотим поделиться одним полезным переводом, подготовленным в преддверии запуска курса «Web-разработчик на Python». Писать код эффективный по времени и по памяти на Python особенно важно, когда занимаешься созданием Web-приложения, модели машинного обучения или занимаешься тестированием.


Читать дальше →
Всего голосов 22: ↑15 и ↓7+8
Просмотры7.4K
Комментарии 16

Что вернёт эта функция в Python?

Блог компании ДомКликPythonПрограммирование

Всем привет! Сегодня хотел бы обсудить очень простой, но, на мой взгляд, интересный вопрос по Python и его внутреннему устройству. Как вы думаете, что вернёт эта функция:

def foo():
try:
return 1
finally:
return 2

Если вам интересно, что получится в результате и как это работает, добро пожаловать под кат.

Читать далее
Всего голосов 83: ↑74 и ↓9+65
Просмотры27K
Комментарии 96