У меня был этот спор с другом, у которого у меня есть библиотека (это Python, но я не включил ее в качестве тега, поскольку вопрос применим к любому языку), которая имеет несколько зависимостей. Дискуссия заключается в том, следует ли предоставлять среду по умолчанию при инициализации или заставлять пользователя кода явно устанавливать ее.
Мое мнение состоит в том, чтобы заставить пользователя сделать его явным, чтобы избежать путаницы и дать понять, на что он указывает.
Друг мой, безопаснее и удобнее использовать среду по умолчанию и позволить пользователю переопределить ее, если он захочет.
Мысли? Есть ли в популярных библиотеках хорошие ссылки или примеры/шаблоны, поддерживающие любой из наших аргументов? а также какие-либо популярные блоги или статьи, в которых обсуждается этот аспект проектирования API?