Как правильно разбить функцию на модули внутри класса?
Существует класс, внутри класса есть функция, которая принимает строку и парсит ее по сложному алгоритму. Я разбил код внутри функции на 10 других функции. Правильно ли хранить определения функции на том же уровне, что и главная функция, которая их вызывает, при условии сто в классе они больше нигде не нужны?
Как сделать правильно?
На ум приходит несколько вариантов:
1) завернуть функции в отдельный класс Utils, и импортировать его в файле определения рабочего класса, чтобы в функции парсинга строки просто вызывать функции класса Utils
2) определить функции внутри функции парсинга строки
3) просто определить функции на том же уровне в классе что и функция парсинга строки
Какой вариант предпочтительнее и делает код более «чистым» и тестируемым?
Вопрос где лучше разместить определения функций stage_one ... stage_three ?
В классе MyClass , сделать статическими вдругом классе и вызывать как методы другого класса? Еще как-то...
TigerSHARC, да.
В проекте вообще не должно быть такой сущности, как "маленький вспомогательный скрипт". В конечном итоге разработчики вообще перестают думать, к чему отнести эту часть логики и сбрасывают все в utils, который превращается в настоящую кодопомойку.