Признак плохого проекта - Неоправданные повторения

E-mail Печать PDF
Рейтинг пользователей: / 0
ХудшийЛучший 
Индекс материала
Признак плохого проекта
Закрепощенность
Неподвижность
Неподвижность
Вязкость
Неоправданная сложность
Неоправданные повторения
Неопределенность
Чем вызвано
Page 10
Все страницы

Неоправданные повторения

Операции "вырезки" и "вставки" могут быть полезными при редактировании текста, но в то же время они могут быть опасными операциями в случае редактирования кода. Слишком часто программные системы выстраиваются на десятках или сотнях повторяющихся элементов кода. Это происходит примерно следующим образом.

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

Без ведома Ральфа фрагмент кода был позаимствован Тодом из модуля, написанного Лили. Причем Лили было нужно, чтобы ее код выполнял поиск натуральных чисел. Она быстро обнаружила, что код, выполняющий поиск целых чисел, тоже может применяться в этой ситуации. Затем она просто вырезала последний фрагмент кода и включила его в свой модуль, изменив соответствующим образом последний.

Если один и тот же код появляется несколько раз в несколько отличных формах, разработчики теряют абстрактный образ. Поиск всех повторений, а также их сокращение с применением соответствующих абстракций может и не включаться в первые пункты списка приоритетов, но следует учитывать то, что в противном случае затрачивается немало усилий и времени для того, чтобы система получалась доступной для понимания и управления в дальнейшем. лишком громоздкий системный код усложняет работу по изменению системы. Ошибки, обнаруженные в модуле, содержащем повторяющийся код, требуют правления при каждом повторении. Тем не менее, поскольку каждое повторение лишь в незначительной степени отличается от всех остальных, то исправления не всегда могут носить одинаковый характер.



 

Добавьтe Ваш комментарий

Ваше имя (псевдоним):
Ваш адрес почты:
Заголовок:
Комментарий:

Комментарии, категория: "IT"

Интересное




Похожие материалы

Партнёры