La legge di Postel:
Be conservative in what you do, be liberal in what you accept from others.
Codice "pigro" (per The Pragmatic Programmer):
Be strict in what you will accept before you begin, and promise as little as possible in return.
Sto sviluppando un framework finanziario (asset pricing, ecc.) per Python. Domanda: quando si progetta l'API per il framework, quali fattori dovrei prendere in considerazione quando valuto il compromesso tra essere severi e liberali: input?
Esempio:
Ho il seguente metodo che scarica i prezzi delle azioni da Yahoo.
def historical_prices(ticker, start=None, end=None, data='d', convert=True):
# Do stuff
Per gli argomenti della data ( start
& end
), potrei:
- Sii severo e consenti solo una stringa di formato ISO YYYY-mm-gg, o
- Sii liberale e accetta oggetti datetime, stringhe (di formati specificati), ecc.