Также известен как: Speculative Generality

Запах кода Теоретическая общность

Симптомы и признаки

Класс, метод, поле или параметр не используются.

Причины появления

Иногда код создаётся «про запас», чтобы поддерживать какой-то возможный будущий функционал, который в итоге так и не реализуется. В результате этот код становится труднее понимать и сопровождать.

Лечение

Выигрыш

  • Уменьшение размера кода.

  • Упрощение поддержки.

Не стоит трогать, если...

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

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