Я пишу приложение, которое извлекает некоторые данные из HTML, используя BeautifoulSoup4. Это какие-то результаты поиска, если быть более точным c. Я подумал, что было бы неплохо иметь класс Parser, хранящий значения по умолчанию, такие как префиксы URL, заголовки запросов и т. Д. c. После настройки этих параметров метод publi c возвращает список объектов, каждый из которых содержит один результат или, возможно, даже объект со списком, включенным в него, наряду с некоторыми другими параметрами. Я изо всех сил пытаюсь отделить небольшие кусочки логики c, которые строят эту реализацию анализатора от самого класса анализатора. Я хочу написать десятки методов частной утилиты парсера, таких как: _is_next_page_available, _are_there_any_results, _is_did_you_mean_available et c. Тем не менее, это идеальные кандидаты для написания юнит-тестов! И поскольку я хочу сделать их приватными, у меня возникает ощущение, что я что-то упускаю ...
Моя другая идея состояла в том, чтобы написать этот синтаксический анализатор как функцию, вызывая кучу других служебных функций, но это быть равным тому, чтобы все эти методы были опубликованы c, что не имеет смысла, поскольку они являются деталями реализации.
Не могли бы вы дать мне совет, как правильно спроектировать это?