Подтвердить что ты не робот

Конструкция и вязкость гниения

Роберт С. Мартин в одной из своих книг упоминает о вязкости как о симптоме гниения. Я не совсем понимаю идею вязкости в разработке программного обеспечения. Не могли бы вы привести несколько примеров?
4b9b3361

Ответ 1

Он имеет два применения: вязкость конструкции и вязкость окружающей среды.

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

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

Вязкость среды относится к рабочему потоку. Если время компиляции длительное, или это боль для создания системы или выполнения тестов, программисты будут использовать ярлыки, чтобы облегчить боль.

Ответ 2

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

Таким образом, он становится менее "жидким" и более "твердым", следовательно, аналогия с вязкостью.

Ответ 3

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

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