Ho avuto questo dibattito con un amico in cui ho una libreria (il suo pitone ma non l'ho incluso come tag come la domanda è applicabile a qualsiasi lingua) che ha alcune dipendenze. Il dibattito è se fornire un ambiente predefinito nell'inizializzazione o forzare l'utente del codice a impostarne esplicitamente uno.Devo impostare l'ambiente in modo predefinito per qualcuno che utilizza la mia libreria?
La mia opinione è di forzare l'utente come esplicito ed eviterà la confusione e chiarire a cosa stanno puntando.
Il mio amico è più sicuro e più conveniente per impostazione predefinita in un ambiente e consente all'utente di eseguire l'override se lo desidera.
Pensieri? Ci sono buone referenze o esempi/modelli in librerie popolari che supportano uno dei nostri argomenti? inoltre, qualsiasi blog o articolo popolare che discute questo punto di progettazione dell'API?
Riflessioni simili a http://stackoverflow.com/questions/1166539/do-you-find-convention-over -configuration-good-or-bad – mguymon
@mguymon - penso che sia un argomento leggermente diverso. – leora
Il pubblico di destinazione è un altro fattore importante da considerare. È qualcosa di interno a una società rispetto a chiunque sulla rete? Per gli utenti con una mentalità progettista rispetto alla mentalità ingegneristica? Eccetera. –