Does Python really follow its philosophy of "Readability counts"?

Russ P. Russ.Paielli at gmail.com
Sun Jan 25 13:57:32 EST 2009


On Jan 25, 10:04 am, Mark Wooding <m... at distorted.org.uk> wrote:
> "Russ P." <Russ.Paie... at gmail.com> writes:
> > Calling a one-word change a "fork" is quite a stretch, I'd say.
>
> I wouldn't.  I've forked a project P if I've made a different version of
> it which isn't going to be reflected upstream.  Now I've got to maintain
> my fork, merging in changes from upstream as they happen, and upgrading
> all the things which use my new version; if I want to distribute my
> program M to other people, they'll also need my forked version of
> whatever.  Now suppose that two programs A and B both require one-word
> changes in P: there's a combinatorial explosion of little patches which
> need to be managed.
>
> A fork is a fork, regardless of how big the change is.  The problem with
> a fork is the maintenance problem it entails.

Not really. A "fork" is something that *diverges* from the original.
That means the differences *grow* over time. In this case, the
differences will not grow over time (unless you access more private
attributes).

As I pointed out before, you don't even need to keep track of the
changes you made. You will be automatically reminded as soon as you
get a new version of the library and try to use it (again, assuming
that your tests provide sufficient coverage and the attribute is not
changed to public).

> >> > Has it occurred to you that some users might actually *want* access
> >> > controls? Maybe some users want to actually use the library as the
> >> > author intended it to be used. What a bizarre concept!
>
> >> Huh?
> >> Then... use it as the author intended. I am _not_ forcing you to use the
> >> obj._protected attributes!
>
> > But what if I want an automatic check to verify that I am using it as
> > the author intended? Is that unreasonable?
>
> You mean that you can't /tell/ whether you typed mumble._seekrit?
> You're very strange.  It's kind of hard to do by accident.  I'd have

If I have a team of 200 programmers, I can't easily tell if one of
them did that somewhere. Why do people like you have such a hard time
understanding that I'm not talking here about smallish programs with
one or a few developers?

And even with only one programmer, he might access "mumble._seekrit"
for a debugging test, then forget to take it out.

> thought that you could do that with grep, err...
>
>         git grep '\._' | sed 's/self\._//g' | grep '\._'
>
> ought to do as a rough start.
>
> If you can't trust your programmers to make it clear when they're doing
> something dubious, I think you have bigger problems.

Yes, I think I have bigger problems. But I like the challenge. I don't
think I'd be happy working on small problems, but to each his own.



More information about the Python-list mailing list