Правило трех ( «Три удара - и вы выполняете рефакторинг» ) - это эмпирическое правило рефакторинга кода, позволяющее решить, когда следует реорганизовать аналогичные фрагменты кода, чтобы избежать дублирования. В нем говорится, что два экземпляра аналогичного кода не требуют рефакторинга, но, когда аналогичный код используется три раза, его следует извлечь в новую процедуру. Это правило было популяризировано Мартином Фаулером в книге «Рефакторинг» [1] и приписано Дону Робертсу.
Дублирование считается плохой практикой в программировании, потому что это усложняет сопровождение кода . Когда правило, закодированное в реплицированном фрагменте кода, изменяется, тот, кто поддерживает код, должен будет правильно изменить его во всех местах.
Тем не менее, выбор подходящего дизайна, чтобы избежать дублирования, может выиграть от большего количества примеров, в которых можно увидеть шаблоны. Попытка преждевременного рефакторинга рискует выбрать неправильную абстракцию, что может привести к ухудшению кода по мере появления новых требований [2] и в конечном итоге потребуется повторный рефакторинг.
Правило подразумевает, что стоимость обслуживания, безусловно, перевешивает стоимость рефакторинга и потенциально плохой дизайн, когда есть три копии, и может или не может, если есть только две копии.
Смотрите также
Рекомендации
- ^ Мартин Фаулер; Кент Бек; Джон Брант; Уильям Опдайк; Дон Робертс (1999). Рефакторинг: улучшение дизайна существующего кода . Эддисон-Уэсли Профессионал. ISBN 978-0201485677.
- ^ Сэнди Мец , «Неправильная абстракция» (2016)