На днях я просмотрел код, написанный кем-то из моей команды. Решение не было полностью функциональным, а дизайн был слишком сложным, то есть хранил ненужную информацию, создавал ненужные функции, и в основном код имел много ненужной сложности, такой как позолота, и пытался решить проблемы, которые не существуют.
В этой ситуации я спрашиваю "почему это было сделано таким образом?"
Ответ в том, что другой человек хотел сделать это таким образом.
Затем я спрашиваю, были ли какие-либо из этих функций частью спецификации проекта, имеют ли они какое-либо применение для конечного пользователя или какие-либо дополнительные данные будут представлены конечному пользователю.
Ответ - нет.
Тогда я предлагаю ему удалить все ненужные сложности. Ответ, который я обычно получаю, - «ну, это уже сделано».
Я считаю, что это не сделано, это глючит, оно не делает то, что хотят пользователи, и стоимость обслуживания будет выше, чем если бы это было сделано более простым способом, который я предложил.
Эквивалентный сценарий:
Коллега тратит 8 часов на рефакторинг кода вручную, что можно было бы автоматически сделать в Resharper за 10 секунд. Естественно, я не доверяю рефакторингу вручную, поскольку он сомнительного качества и не полностью протестирован.
И снова я получаю ответ: «Ну, это уже сделано».
Что является подходящим ответом на это отношение?