Среди разработчиков Perl есть известная цитата из (в) известной книги Camel: «Модуль Perl предпочел бы, чтобы вы не входили в его гостиную, потому что вас не пригласили, а не потому, что у него есть дробовик.».Философия заключается в том, что если вы, как разработчик библиотеки, хотите различать ваш публичный и частный API, это здорово.Сделайте это и задокументируйте это.Вызывающий ваш код должен знать, что есть что, но также должен быть свободен, чтобы действовать как идиот, если он решит и называть вещи, которые, как вы думаете, они не должны вызывать.С точки зрения ОО, это еретично, но с языками сценариев, вот как они катятся.
Ответ на это немного субъективен, но я скажу вам, что когда я пишу JavaScript и у меня есть методы илипеременные, которые были бы приватными, если бы я кодировал в .NET, я просто добавляю к ним префикс с чем-то вроде "prv_" или "p_" или просто "_" ... что угодно, что плавает в вашей лодке.Таким образом, вы сказали своим пользователям, что этот материал предназначен для частного использования и может измениться из-под них.И таким образом, если они все равно захотят вызывать ваши приватные методы, этот ненадежный код будет торчать, как больной большой палец.