Первоначально опубликовано alanwsmith.com к @Theidofalan
Я ищу примеры для использования в качестве примеров (например, «Списки имен, списков животных, простых математических уравнений и т. Д.»). Оказывается, трудно посмотреть наборы примеров для кодирование без получения примеров кодирование 1 Отказ Это нормально, даже если это немного мета.
Во время моего поиска я нашел Этот пост назвал кодирование лучших практик Отказ
Пулевые точки имеют смысл. Используйте постоянные отступы, следуйте сухому принципу и т. Д… Но внутри глаза они «держат код простой» пример 2 Отказ Это говорит:
def numbers_are_in_range(*, a, b, c): if a < 0 and b > 0 and c == 0: return True else: return False
должен быть написан так:
def numbers_are_in_range(*, a, b, c): return a < 0 and b > 0 and c == 0
Меньше линий? Конечно.
Проще? Не так много.
Этот код труднее понять.
Неявное возвращение (например, второй фрагмент) принять больше возможностей мозга, чтобы иметь дело с более чем явными (как первый пример) 3 . В этом случае вы не знаете, что первый фрагмент вернет один из двух возможных значений: True или False. Во втором фрагменте вы должны мысленно пройти по формуле, чтобы рассуждать, какие возможности.
Вы не замечаете усилия, когда вы пишете начальный код. Контекст уже в вашей голове. Это каждый раз, когда мы используем его, что мы почувствуем влияние. Мы проводим бесконечно больше времени в будущем, работающих над нашим кодом, чем когда мы впервые написали это. Это в нашу интерес, чтобы сделать вещи как можно более четкими (и как можно более четкими) для нашего будущего себя.
Приравнивающие меньше строк с более простым кодом – это легкая ошибка. Но это не всегда так. Не бойтесь этих дополнительных линий, когда они добавляют ясность. Они твои друзья.
Сноски
Я понял, что могу пойти в замечательные упражнения. Для примеров примеров.
Ага. Я перевел пример в функции Python. И, хотя я не хочу вдаваться в это в этом посте, интересно, не будет чистым способом кодировать условную, а также.
Не просто беру мое слово для этого. Дзен второй линии Python буквально:
Явное лучше, чем неявное.
Оригинал: “https://dev.to/alanwsmith/explicit-over-implicit-more-code-is-better-4fgh”