Рубрики
Без рубрики

Явна над неявным: Больше кода лучше

Первоначально опубликовано на alanwsmith.com @Theidofalan Я ищу примеры для использования в качестве примеров (… Теги с Python, CodeNewie.

Первоначально опубликовано 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. Во втором фрагменте вы должны мысленно пройти по формуле, чтобы рассуждать, какие возможности.

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

Приравнивающие меньше строк с более простым кодом – это легкая ошибка. Но это не всегда так. Не бойтесь этих дополнительных линий, когда они добавляют ясность. Они твои друзья.

Сноски

  1. Я понял, что могу пойти в замечательные упражнения. Для примеров примеров.

  2. Ага. Я перевел пример в функции Python. И, хотя я не хочу вдаваться в это в этом посте, интересно, не будет чистым способом кодировать условную, а также.

  3. Не просто беру мое слово для этого. Дзен второй линии Python буквально:

Явное лучше, чем неявное.

Оригинал: “https://dev.to/alanwsmith/explicit-over-implicit-more-code-is-better-4fgh”