31 Октябрь 2006

Паттерны ошибок: фальшивая черепица

posted in Инженерия ПО |

фальшивая черепицаКогда один раз исправленная ошибка возникает вновь, когда программа ведет себя так, как если бы исправленная ошибка осталась на месте, скорее всего мы столкнулись с ошибкой, описываемой паттерном фальшивая черепица.

Фальшивая черепица — причина метода разработки, который называется метод копипаста. В этом случае кусок текста программы был скопирован с минимальными изменениями (или без них) для выполнения схожих (тех же) функций, что и исходный код.

Этот подход, безусловно, имеет массу преимуществ для быстрого достижения цели при разработке, поскольку

  • этот подход более экономный во времени: не нужно заниматься выделением программы в общий класс, заниматься просмотром мест, использующих старый код, заниматься рефакторингом;
  • не требует переделки старого кода: при доработке новых функций старые методы не будут испорчены, в них не вностся никаких изменений.

Все хорошо, если этот кусок текста не содержит ошибок или не потребуется доработать имеющуюся функциональность программы, затрагивающую данный

В этом случае различные копии растиражированной программы будут покрывать программу как фальшивая черепица и для полного исправления необходимо внести изменения во все копии.

Лучшим решением для предотвращения (исправления) такой ситуации является рефакторинг с целью создания общего класса, методы которого могут быть переопределены для различных вариантов использования.

Также для устранения подобных ошибок могут быть использованы другие методы, например, использование директив препроцессора и аспектно-ориентированное программирование.

P.S.
Как же меня достал этот паттерн…

Обсуждение закрыто.