[Python-Dev] Replacement for print in Python 3.0
smitty_one_each at bigfoot.com
Tue Sep 6 22:53:15 CEST 2005
>>>>> "Guido" == Guido van Rossum <guido at python.org> writes:
Guido> In a different thread I mentioned a design principle for
Guido> which I have no catchy name, but which has often helped me
Guido> design better APIs. One way to state it is to say that
Guido> instead of a single "swiss-army-knife" function with
Guido> various options that choose different behavior variants,
Guido> it's better to have different dedicated functions for each
Guido> of the major functionality types. So let's call it the
Guido> "Swiss Army Knife (...Not)" API design pattern.
I call the idea the 80/20 Split, or 'Convenience Functions'.
You have a powerful, highly generalized function that can do most
anything, and has an interface to prove it.
Then, a collection of 'Convenience Functions' to constrain that "Swiss
Army Knife" to handle 80% of the use-cases, while still letting Ye
Power User dig a little deeper.
The challenge is to keep the Convenience Function population low, so
that you don't arrive at 8,020 different functions in the interface.
More information about the Python-Dev