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

Изменился ли мир? Возможно нет. Что действительно изменилось, так это то, что мы приобрели новый словарный запас, и этот словарь позволяет нам говорить и видеть мир так, как мы не могли раньше. Он формирует то, как информация поступает к нам и от нас, поскольку состоит в основном из письменных слов и устного общения. Но при чем здесь программирование?

Суть программирования заключается в том, чтобы поток информации оставался как можно более ясным и выразительным. Программисты с первого дня стремились выразить правильное знание предметной области. Эти знания состоят из таких слов, как клиенты, транзакции, скидки и т. Д. И формируют повседневное общение внутри вашей команды и базы пользователей.

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

if (condition_a && condition_b) || (condition_a && !condition_c)
  # ...
end

против

if subscribed_through_marketing_channel?
  # ...
end
def subscribed_through_marketing_channel?
  subscribed_through_google? || subscribed_through_facebook?
end
def subscribed_through_google?
  condition_a && condition_b
end
def subscribed_through_facebook?
  condition_a && !condition_c
end

Какой проще получить правильно? Осмысленный код превосходит умный код в любое время дня.

Но разве это единственное, о чем мы должны знать? Не совсем так, язык также формирует поведение. Команда, которая говорит только о производительности, но не понимает или не знает концепции устойчивости, может пропустить тесты или обзоры кода. Очень важно определить правильный словарный запас, чтобы добиться желаемого поведения.

Поскольку наши разговорные языки, наши знания в предметной области постоянно меняются, постоянно развиваются в соответствии с потребностями нашего бизнеса. Попытка сохранить его чистым и выразительным - это постоянная борьба, но она очень полезна, если команда не хочет в конечном итоге получить унаследованный код, заваленный старыми определениями, которые никто не может объяснить с течением времени.

Осторожно используйте язык, обогащайте свой код и поведение правильными концепциями.

Спасибо за чтение. Я всегда готов к хорошему разговору на эту тему, вы можете найти меня в Твиттере как bernardo_amc.