Я должен расширить существующий модуль проекта. Мне не нравится, как это было сделано (задействовано много анти-шаблонов, например, скопированный / вставленный код). Я не хочу выполнять полный рефакторинг по многим причинам.
Нужно ли мне:
- создавать новые методы, используя существующее соглашение, даже если я чувствую это неправильно, чтобы избежать путаницы для следующего сопровождающего и быть совместимым с базой кода?
или же
- пытаться использовать то, что я чувствую себя лучше, даже если он вводит другой код в коде?
Точность отредактировано после первых ответов:
Существующий код не беспорядок. Это легко понять и понять. НО это вводит много стандартного кода, которого можно избежать с хорошим дизайном (тогда результирующему коду может стать труднее следовать). В моем текущем случае это старый добрый DAO-модуль JDBC (внутренний шаблон пружины), но я уже столкнулся с этой дилеммой и ищу другие отзывы разработчиков.
Я не хочу проводить рефакторинг, потому что у меня нет времени. И даже со временем будет трудно обосновать, что весь прекрасно работающий модуль нуждается в рефакторинге. Стоимость рефакторинга будет выше, чем его преимущества. Помните: код не является грязным или слишком сложным. Я не могу извлечь несколько методов там и ввести абстрактный класс здесь. Это скорее недостаток в дизайне (я думаю, что это результат «Keep It Stupid Simple»)
Таким образом, вопрос также может быть задан так:
Вы, как разработчик, предпочитаете ли вы поддерживать простой тупой скучный код ИЛИ иметь помощников, которые будут делать глупый скучный код у вас?
Недостатком последней возможности является то, что вам придется изучать некоторые вещи и, возможно, вам придется поддерживать простой и глупый скучный код, пока не будет выполнен полный рефакторинг)