И тут он говорит, что мол даже терраформ модули делал, но никто ими не пользовался. Я посмотрел. Код был отвратительный. Такой, знаете пахнущей тиной и черезмерным старанием код. Наверное, он в прошлой жизни очень хотел дрессировать львов или может попугаев, поэтому сейчас заставлял проделывать различные трюки скудный DSL. А может, в наивные годы, он попал в плохую компанию, где над ним измывались и всячески придирались надменные лиды. Ну знаете, такие которым “как” важнее чем “что”. И теперь мой герой живёт с головой в пол оборота, что б из-за плеча кто не сказал чего зачем-то.
Модуль, внутри модуля, внутри модуля. Возможно я удивился вслух, а может произошло что иное, но моё смущение было замечено.
- Я не люблю повторять сам себя, я не попугай и вообще DRY это золотой стандарт!
Ну конечно, золотой мой, серебрянный мой. DRY это стандарт, но в славные и простые деньки наших предков, никто не задумывался встраивать в стандарты проверку на идиотию. Сколько раз ты используешь этот модуль? Один? А этот? Два? Ну два лучше чем один, конечно же. А давай посмотрим как два раза. Один раз одно поведение, другой — другое.
Дихотомия. Человек может быть то пьяным, то трезвым. Но это делает человека сложным.
Так и с модулем, дружочек, если у тебя в модуле есть несколько разных поведений, то это плохой модуль. Это уже не DRY, это уже программа, которая, как 18-летний подросток, ведёт себя как вздумается, но сложная и непонятная до чрезвычайности.
Впрочем, не желая прослыть требовательным тупицей не знающем о DRY, я промолчал и продолжил дальше смотреть PR, ругаясь на то, что совещания слишком длинные, а в кино смотреть абсолютно нечего.