Ищете конкретную реализацию метода? Двигайтесь вперед и назад, вверх и вниз.

Проблемы

  • Глубокие иерархии
  • Подклассификация для повторного использования кода
  • Читаемость
  • Низкая сплоченность
  • Высокое сцепление

Решения

  1. Предпочитайте композицию наследованию.
  2. Реорганизуйте глубокие иерархии.

Образец кода

Неправильный

Правильно

Обнаружение

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

Теги

  • Иерархия

Вывод

Многие начинающие программисты повторно используют код через иерархии. Это приводит к появлению иерархий с высоким и низким уровнем связности.

Джонсон и Фут в своей статье утверждали, что это действительно хороший рецепт дизайна еще в 1988 году. Мы многому научились от этого.

Мы должны провести рефакторинг и сгладить эти классы.

связи



Больше информации





Https://wiki.c2.com/?DeepClassHierarchies

Иерархия должна быть глубокой, Джонсон и Фут

Ошибка возникает из-за обработки объектных переменных (переменных экземпляра), как если бы они были атрибутами данных, а затем создания вашей иерархии на основе общих атрибутов. Всегда создавайте иерархии на основе общего поведения, стороны.

Дэвид Уэст



Великие цитаты о программной инженерии
Иногда короткая мысль может родить потрясающие идеи. medium.com



Эта статья является частью серии CodeSmell.