Ваша организация должна иметь руководящие принципы / стандарты по кодированию, которые периодически обновляются при участии команды разработчиков. В этом документе могут быть прописаны такие особенности, как: как называть переменные, как форматировать код и так далее. Документ должен также объяснить ценности, которые организация ожидает от программистов при написании кода, включая относительную важность таких вещей, как удобочитаемость, удобство обслуживания, правильность, эффективность и соблюдение стандартов.
Проверка кода должна проводиться с использованием этого документа по стандартам кодирования. Если стандарты кодирования говорят, что программисты должны предпочесть удобочитаемость краткости, когда они противоречат друг другу, тогда вы будете иметь некоторую поддержку в спорах против «умного» кода. Если стандарты не говорят этого, и вы думаете, что они должны, тогда вы можете поспорить об этом в реферате на встрече стандартов кодирования, а не пытаться выяснить это, когда чье-то эго находится на грани.
В конечном счете, это иногда сводится к суждению, и в этих случаях последнее слово должно быть за лицом, которое в конечном счете отвечает за код и / или продукт. Обычно это кто-то вроде старшего разработчика, технического лидера, менеджера проекта или директора по проектированию. Если вы ответственный сотрудник и чувствуете, что определенный код недостаточно обслуживаем, вам не следует бояться говорить об этом. Вы можете быть дипломатичным об этом:
Сэм, я впечатлен твоей изобретательностью, но я обеспокоен тем, что это может быть слишком умным. Мне нужно, чтобы вы работали над новой разработкой через год, а не поддерживали ее, и я обеспокоен тем, что тот, кто должен ее поддерживать, может не в полной мере понять ее удивительность. Я знаю, что вы ненавидите это делать, но я был бы признателен, если бы вы вернулись к простой реализации, которую мы обсуждали.
С другой стороны, если вы не ответственный парень, то лучшее, что вы можете сделать, это четко объяснить свою позицию и попытаться убедить остальных членов команды. Если вы не получаете поддержку от менеджера, то примите, что это не ваш звонок, и двигайтесь дальше.