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