Если вам около 30 лет, вы, возможно, помните этого странного парня наверху. Его зовут Джон Базедоу, и он годами управлял коммерческими радиоволнами, продавая видео о домашнем фитнесе. Базедоу хотел продавать видео с одной целью: сделать фитнес проще!

Что означает простота в тренировках? Я мало занимаюсь (ладно, никогда), но думаю, что Базедов учил упражнениям, которые повторяемы и не требуют особых объяснений. Подтягивания, отжимания, приседания, приседания, простые упражнения и упражнения, которые знают 99,9% населения.

Простота отличается от того, что легко. Подтягиваться может быть не просто! Вспомните все эти президентские тесты на пригодность, которые вы проходили в начальной школе. Сколько человек могли бы подтянуться? Какой процент людей может подтянуться сейчас? Как насчет того, чтобы сделать пять подтягиваний или 15? Вам может потребоваться некоторая тренировка, чтобы убедиться, что вы делаете это простое упражнение с правильной техникой, или больше тренировок, чтобы делать много подтягиваний.

У Рича Хики, создателя Clojure, был доклад под названием Simple Made Easy. Он говорит о том, что простота не всегда может быть легкой. Простота означает избегание переплетения нескольких вещей.

def say_hello_to_students
  students.each do |student|
    print "Hello #{student}"
  end
end

Классический пример переплетения из книги Сэнди Мец Practical Object Oriented Ruby — это функция, которая перебирает коллекцию, и что-то делает с каждым элементом коллекции. Всякий раз, когда вам приходится использовать слова идля описания метода, класса или пространства имен, вы, вероятно, имеете дело с переплетением.

Важно помнить, что простота — понятие относительное! Приведенный выше код может быть легче сделать, потому что он знаком человеку, который его пишет, или так, как они всегда это делали. Но мы можем сделать простое легким. Может потребоваться больше времени, чтобы подумать о том, как мы что-то программируем, но практика упрощения вещей со временем облегчит нам задачу.

Эта мысль когда-нибудь приходила вам в голову? Как я могу получить эту вещь, которую нужно сделать как можно быстрее? Я уверен, что это так, и я тоже был виновен в этом. Упрощение наших приложений требует некоторого времени для разгона, что поначалу может быть непростым. Давайте будем сострадательны к себе в будущем и найдем время, чтобы стремиться к простоте.