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