the annoying, verbose self

Marc 'BlackJack' Rintsch bj_666 at gmx.net
Sat Nov 24 08:50:22 EST 2007


On Sat, 24 Nov 2007 02:54:27 -0800, samwyse wrote:

> On Nov 24, 4:07 am, Marc 'BlackJack' Rintsch <bj_... at gmx.net> wrote:
>> On Sat, 24 Nov 2007 01:55:38 -0800, samwyse wrote:
>> > I've had the same thought, along with another.  You see, on of my pet
>> > peeves about all OO languages that that when creating new code, I
>> > generally begin by writing something like this:
>>
>> > cat = 'felix'
>> > dog = 'rover'
>> > def example():
>> >   global cat, dog  # not always required, but frequently needed
>> >   return ', '.join((cat, dog))
>>
>> Ouch that's bad design IMHO.  The need to use ``global`` is a design
>> smell, if needed *frequently* it starts to stink.
> 
> I'm not sure what you mean.  In the example that I gave, the 'global'
> statement isn't needed.  However, here's a different example:

I mean that global names that are (re)bound from within functions couple
these functions in a non-obvious way and make the code and data flow harder
to follow and understand.  Also it makes refactoring and testing more
difficult because of the dependencies.

Ciao,
	Marc 'BlackJack' Rintsch



More information about the Python-list mailing list