Должен ли я использовать среду по умолчанию для кто-то пользуется моей библиотекой?

У меня был этот спор с другом, у которого у меня есть библиотека (это Python, но я не включил ее в качестве тега, поскольку вопрос применим к любому языку), которая имеет несколько зависимостей. Дискуссия заключается в том, следует ли предоставлять среду по умолчанию при инициализации или заставлять пользователя кода явно устанавливать ее.

Мое мнение состоит в том, чтобы заставить пользователя сделать его явным, чтобы избежать путаницы и дать понять, на что он указывает.

Друг мой, безопаснее и удобнее использовать среду по умолчанию и позволить пользователю переопределить ее, если он захочет.

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

6
задан leora 5 March 2012 в 01:25
поделиться