Skip to content

Зависть к чужим функциям

ID: feature_envy | Степень критичности: Средняя (по умолчанию)

Зависть к чужим функциям (Feature Envy) возникает, когда метод в одном классе кажется более заинтересованным в данных другого класса, чем в данных своего собственного класса.

Почему это «запах»

Это указывает на нарушение инкапсуляции. Логика, скорее всего, находится не в том месте.

Как исправить

Перенесите метод (или часть метода, в которой проявляется зависть) в тот класс, данные которого он использует.

Конфигурация

yaml
rules:
  feature_envy:
    severity: medium
    ratio: 3.0

Параметры по умолчанию

  • ratio: 3.0 - минимальное соотношение использования внешнего класса к использованию собственного класса для обнаружения зависти

Released under the MIT License.