Вы смотрели на статью в Википедии для магическое число?
Это вдается в небольшое количество подробностей обо всех способах, которыми сделана ссылка магического числа. Вот кавычка о магическом числе как плохая практика программирования
, термин магическое число также относится к плохой практике программирования использования чисел непосредственно в исходном коде без объяснения. В большинстве случаев это делает программы тяжелее, чтобы считать, понять, и поддержать. Хотя большинство руководств делает исключение для нуля чисел и один, это - хорошая идея определить все другие числа в коде как названные константами.
Создайте отдельный объект, чтобы инкапсулировать вашу функциональность и переменные экземпляра, и пусть миксин делегирует этому объекту общедоступные методы. Теперь вам нужно связать только одну переменную экземпляра с вашим объектом. Вы даже можете избежать этого, сохранив хэш {Mixee => Delegate} в модуле и выполняя поиск в начале каждого смешанного метода.
Возможно, вы могли бы создать подмодуль, содержащий все служебные методы.
module Foo
module Utils
def self.answer
42
end
end
def helpme
"the answer is #{Utils.answer}"
end
end
include Foo
puts helpme