Help me pick an API design (OO vs functional)
Neil Cerutti
neilc at norwich.edu
Tue Mar 26 13:25:41 EDT 2013
On 2013-03-26, Dave Angel <davea at davea.name> wrote:
> On 03/26/2013 10:40 AM, Michael Herrmann wrote:
>> On Tuesday, March 26, 2013 3:13:30 PM UTC+1, Neil Cerutti wrote:
>>>
>>> <SNIP>
>>> Have you considered adding a keyword argument to each of your
>>> global functions, which is normally None, but allows a user to
>>> provide a prefered focus window?
>>>
>>> enter_text("test.txt", focus=save_dialog)
>>>
>>> press_button(Savebutton, focus=save_dialog)
>>
>> It's an interesting new idea but I somehow feel it makes the existing functions too complicated. Also, having to add it to all existing, and future functions sounds a bit too cumbersome to me.
>>
>
> Perhaps Neil didn't make it clear enough. I figure he meant a keyword
> argument with an explicit default value of None. (or if you followed my
> earlier discussion, default value of focused)
>
> That way your user can keep using the functions for when there's no
> ambiguity, but add a focus= parameter only when needed.
>
> To go back to my sample wrapper functions, they'd look something like
> (untested):
>
>
> def write(*args, focus=focused):
> focus.write(*args)
>
> Of course, the user should only use the wrappers when things
> are sure to remain "simple."
Yes, along those lines. Most code would never need to provide the
focus= keyword. Only when setting focus in a weird way would it
be needed.
--
Neil Cerutti
More information about the Python-list
mailing list