Днями я переглянув код, який хтось із моєї команди написав. Рішення було не повністю функціональним, і дизайн був надто складним - це означає, що зберігалася непотрібна інформація, вбудовані непотрібні функції, і в основному код мав безліч зайвих складностей, таких як позолочення, і він намагався вирішити проблеми, які не існують.
У цій ситуації я запитую "чому це було зроблено таким чином?"
Відповідь - інша людина відчула, що робить це саме так.
Тоді я запитую, чи будь-яка з цих функцій була частиною специфікації проекту, чи вони мають користь для кінцевого споживача, чи будь-яка з додаткових даних буде представлена кінцевому користувачеві.
Відповідь - ні.
Тож я пропоную йому видалити всю непотрібну складність. Відповідь, яку я зазвичай отримую, - «це вже зроблено».
На мою думку, це не робиться, це баггі, він не робить те, що хочуть користувачі, а вартість обслуговування буде вище, ніж якби це було зроблено більш простим способом, який я запропонував.
Еквівалентний сценарій такий:
колега витрачає 8 годин рефакторингу коду вручну, що могло бути автоматично зроблено в Resharper за 10 секунд. Звичайно, я не вірю вручну рефакторингу, оскільки він сумнівної якості та не повністю перевірений.
Знову я отримав відповідь: "ну це вже зроблено".
Яка відповідна відповідь на таке ставлення?