Dreaming of new generation IDE

Robert Kern robert.kern at gmail.com
Fri Feb 5 23:45:38 CET 2010


On 2010-02-05 16:22 PM, bartc wrote:
>
> "Steve Holden" <steve at holdenweb.com> wrote in message
> news:mailman.1998.1265399766.28905.python-list at python.org...
>> Arnaud Delobelle wrote:
>>> Robert Kern <robert.kern at gmail.com> writes:
>>>
>>>> I prefer Guido's formulation (which, naturally, I can't find a direct
>>>> quote for right now): if you expect that a boolean argument is only
>>>> going to take *literal* True or False, then it should be split into
>>>> two functions.
>>>
>>> So rather than three boolean arguments, would you have eight functions?
>>>
>> If there's genuinely a need for that functionality, yes.
>
> So you want a function such as drawtext(s, bold=true, italic=false,
> underline=true) to be split into:
>
> drawtext(s)
> drawtextb(s)
> drawtexti(s)
> drawtextu(s)
> drawtextbi(s)
> drawtextbu(s)
> drawtextiu(s)
> drawtextbiu(s)
>
> Which of course is going to be fun if the bold/italic/underline values
> are not constants; instead of writing:
>
> drawtext(s,b,i,u)
>
> you have to say:
>
> if b==0 and i==0 and u==0:
> drawtext(s)
> elif b==1 and i==0 and u==0:
> drawtextb(s)
>
> and so on. With half-a-dozen or more booleans, this becomes completely
> impractical.

Then you refactor to

   drawtext(s, font)

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
  that is made terrible by our own mad attempt to interpret it as though it had
  an underlying truth."
   -- Umberto Eco




More information about the Python-list mailing list