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

Упыря хочется убить, но похоже, он и правда уверен в своих словах. Понятно, если бы он просто хотел мне нагадить. Но в его проекте та же хрень: абстракция на абстракции. Надо разобраться.

Если убрать лишние слова, перед нами выбор. А) быстро сделать задачу и, возможно, в будущем её доработать. Б) делать задачу долго, и, возможно, уже не касаться ее в будущем.

Важно понимать, что в обоих случаях “возможно” означает “придется по-любому” или “никогда не придется”. Что это значит? То, что в реальности доработка не зависит от технической реализации. Если это важная фича, которой будут постоянно пользоваться, улучшать ее придётся при любой реализации. И наоборот — если фичей пользуются мало, новых усилий скорей всего не понадобится.

В выборе А против Б нормальный человек поймет, что лучше взять А — быстро достичь результата и улучшать, отталкиваясь от ситуации. Этот вариант обещает успех сейчас и, возможно, труд в будущем. Вариант Б означает труд сейчас, и, возможно, успех в будущем. Если вы сомневаетесь, я просто развожу руками.

Опыт показывает, что худшее, что можно сделать в ситуации — спорить с упырем. Если молча перетерпеть, он уползет обратно в свое болото, и никто про него не вспомнит. Но если начнёте срач, то сделаете упырю подарок — народ заметит дискуссию, и подключатся посторонние. А кто-то из посторонних, хотите или нет, встанет на сторону упыря.

Ещё хуже — упырь оттянет на себя мнение руководства, и прощай счастливая жизнь. Вас заставят писать два слоя абстракций, которые пригодятся в лучшем случае через три года. Или никогда. Позже упырь уволится, оставив команду с абстрактным кодом. На его место придет новичок, и круг замкнется.

Я к тому, что надо быть очень осторожным, когда в обсуждение залезает подобный персонаж. Неумелыми фразами можно сильно испортить себе жизнь. Ни пуха.