Если у вас есть логический параметр, вам следует рассмотреть возможность использования двух вариантов этой функции. Наличие логического значения в параметре не помогает пользователю прочитать код. Чтобы избежать дублирования, фактическая реализация может содержать функцию с логическим параметром, но она может быть скрыта от пользователя API.
getSomeActive("foo")
getSomePassive("foo")
Другой альтернативой являются два значимых флага, например, перечисление вместо логического.
getSome("foo", FetchStyle.ACTIVE)
getSome("foo", FetchStyle.PASSIVE)
И чтобы ответить на ваш вопрос: необходимость объявить дополнительную переменную для ясности просто говорит нам, что у нас есть проблема в интерфейсе. Если вы не можете изменить интерфейс или обернуть его, то переменная является одним из способов документирования намерения. К сожалению, кто-то еще, вероятно, просто изменит код и удалит переменную позже.
Ссылка: Совет № 12 в чистом коде от дяди Боба