>>>>> "Guido" == Guido van Rossum <[EMAIL PROTECTED]> writes:
Guido> <intermezzo>
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.
Go, Python!
Chris
_______________________________________________
Python-Dev mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com