Кто виноват в том, что ваш код - беспорядок?
Многие скажут, что ответственность за это несет руководство. Другие будут говорить о тех младших инженерах, которые написали этот небольшой странный фрагмент кода. Может быть, кто-то упомянет об имеющихся у них оффшорных ресурсах. Отсутствие тестирования действительно будет частью аргумента наряду с короткими сроками и давлением команды.
Правда в том, что вина полностью наша. Легко обвинять других, даже если они тоже могут иметь какое-то отношение к этой истории. Однако спрашивали ли мы себя, что мы делаем, чтобы решить эту проблему?
Пишем ли мы больше тестов, чтобы покрыть существующие пробелы? Исправляем ли мы те фрагменты кода, которые выглядят странно, и никто не знает, как они работают? Реорганизуем ли мы эти тесно связанные компоненты, чтобы их можно было легко заменить или заменить? Обучаем ли мы наши ресурсы, чтобы они повышали качество написанного кода? Осознанно ли мы проводим обзоры кода? Соблюдаем ли мы стандарты компании и соблюдаем их? Если ответ на любой из этих вопросов отрицательный, то это не вина других, это наша вина.
Я знаю чувство, которое охватывает нас, когда мы находим эти нечитаемые методы и классы, эти бесконечные и встроенные лямбда-функции в другие лямбда-выражения, которые почти невозможно понять и, следовательно, изменить. Страх изменить то, чего мы не понимаем, понятен. Тем не менее, если мы будем следовать передовой практике, писать более качественные тесты и практиковать хорошие принципы программирования, мы можем писать код, который не доставит неудобств другим в нашей команде.
Трудно выполнять свою работу с чувством, что ошибка никого не волнует. Выберем улучшение, а не комфорт. Если вы потратите время на устранение технического долга, это ускорит выпуск новых функций в будущем. Недостаточно гибкий код становится обузой для продукта, и иллюзия быстрой доставки, которая у вас может быть сейчас, превратится в длинный список исправлений в ветвях выпуска, который будет расширяться в течение нескольких недель.
Лично я предпочитаю улучшать и исправлять то, что не так, вы должны делать то же самое.