Я єдиний розробник проекту, який, як і будь-який проект програмного забезпечення, може бути прийнятий ким-небудь ще.
Скажімо, я використав шаблон X для реалізації функції А. Після розробки та закінчення функції я розумію, що міг би реалізувати ту саму функцію за допомогою шаблону Y, про який я щойно дізнався. Але функція A працює чудово, а перестроювання з X на Y займає багато часу і мало користі.
Тоді настав час реалізувати функцію B. Це схоже на A, але цього разу я хочу скористатися цією можливістю, щоб пограти з малюнком Y. Я радий кінцевому результату, кращому, ніж при виконанні функції A, але тепер мій код використовує два різні візерунки, X і Y, для подібних особливостей.
Але немає жодної реальної причини використовувати різні шаблони, за винятком того, що при створенні функції AI не був достатньо кваліфікований, щоб використовувати той самий шаблон, що і для функції B.
Зауважте, що це питання не стосується вибору правильної схеми для даної проблеми ; йдеться про два закономірності, що існують у кодовій базі для вирішення подібних проблем, які можуть бути скорочені до однієї, заданої достатньо часу для рефактора.
- Це кодовий запах?
- Які недоліки зберігати вихідний код таким?
- Чи повинен я дотримуватися лише одного шаблону? тобто рефактор A використовувати Y або продовжувати використовувати X під час запису B?
- Як у джерелі я можу повідомити, що причина, чому існують дві різні схеми подібних особливостей, по суті не є причиною?
- Я занадто сильно переживаю, що думає наступний розробник про мій код?