Я повинен розширити існуючий модуль проекту. Мені не подобається, як це було зроблено (багато анти-шаблону, як-от копіювати / вставляти код). Я не хочу виконувати повний рефактор з багатьох причин.
Чи я повинен:
- створити нові методи, використовуючи існуючу умовність, навіть якщо я вважаю це неправильним, щоб уникнути плутанини для наступного технічного обслуговування та не узгоджуватись з базою коду?
або
- спробуйте використовувати те, що мені здається краще, навіть якщо це вводить інший зразок у код?
Точність відредагована після перших відповідей:
Існуючий код - це не безлад. Це легко простежити і зрозуміти. АЛЕ це введення безлічі кодового коду, якого можна уникнути при гарному дизайні (в результаті цього код може бути важче слідувати). У моєму теперішньому випадку це старий хороший модуль DAO JDBC (весняний шаблон на борту), але я вже стикався з цією дилемою і шукаю відгуків інших розробників.
Я не хочу переробляти, бо не маю часу. І навіть з часом важко буде виправдати, що цілий ідеально працюючий модуль потребує рефакторингу. Вартість рефакторингу буде важче, ніж його переваги. Пам'ятайте: код не є безладним або надмірно складним. Я не можу витягнути там мало методів і ввести сюди абстрактний клас. Це більше вада в дизайні (я думаю, результат крайнього "Keep It Stupid Simple")
Тож питання також можна задати так:
Ви, як розробник, ви віддаєте перевагу підтримувати легкий дурний нудний код АБО мати деяких помічників, які зроблять ваш дурний нудний код?
Недоліком останньої можливості є те, що вам доведеться вивчити деякі речі і, можливо, вам доведеться також підтримувати легкий дурний нудний код, поки не буде зроблено повне рефакторинг)