Я понимаю, что общедоступные / защищенные / частные средства доступа означают, например, в Java или PHP. Однако когда вы решите, делать ли метод частным?
Представьте, что у меня есть класс, который обрабатывает конфигурационные строки - они должны соответствовать определенному регулярному выражению, и если это так, выполняется дополнительная логика, чтобы убедиться, что строки являются действительными.
В настоящее время у меня есть этот код в приватном методе в классе конфигурации. Этот класс принимает строки конфигурации и затем возвращает значения в код клиента после проверки строк.
Однако я хочу провести модульное тестирование кода проверки, поэтому, возможно, он должен быть в другом классе. Я обычно не делаю этого, хотя, если я не знаю, что код будет использоваться повторно. Если он будет использоваться только одним классом, как в этом случае, я обычно просто делаю метод закрытым.
Итак, мой вопрос - какие правила проектирования должны сообщать программисту, что конкретный метод должен быть закрытым по сравнению с перемещением в его собственный класс?