Паттерны ошибок: фальшивая черепица
posted in Инженерия ПО |Когда один раз исправленная ошибка возникает вновь, когда программа ведет себя так, как если бы исправленная ошибка осталась на месте, скорее всего мы столкнулись с ошибкой, описываемой паттерном фальшивая черепица.
Фальшивая черепица — причина метода разработки, который называется метод копипаста. В этом случае кусок текста программы был скопирован с минимальными изменениями (или без них) для выполнения схожих (тех же) функций, что и исходный код.
Этот подход, безусловно, имеет массу преимуществ для быстрого достижения цели при разработке, поскольку
- этот подход более экономный во времени: не нужно заниматься выделением программы в общий класс, заниматься просмотром мест, использующих старый код, заниматься рефакторингом;
- не требует переделки старого кода: при доработке новых функций старые методы не будут испорчены, в них не вностся никаких изменений.
Все хорошо, если этот кусок текста не содержит ошибок или не потребуется доработать имеющуюся функциональность программы, затрагивающую данный
В этом случае различные копии растиражированной программы будут покрывать программу как фальшивая черепица и для полного исправления необходимо внести изменения во все копии.
Лучшим решением для предотвращения (исправления) такой ситуации является рефакторинг с целью создания общего класса, методы которого могут быть переопределены для различных вариантов использования.
Также для устранения подобных ошибок могут быть использованы другие методы, например, использование директив препроцессора и аспектно-ориентированное программирование.
P.S.
Как же меня достал этот паттерн…