[XML-SIG] Ugh! Why are DOM access methods spelled with a leading '_'?

Uche Ogbuji uogbuji@fourthought.com
Tue, 27 Jun 2000 15:09:34 -0600

> Circular teferences are harmful in other ways that just GC.
> For example, deep copy, and similar applications are certainly complicated
> by them. In any case, designing an API that encourages memory leaks
> in current Python seems like a pretty bad idea to me.

I hardly see how it encourages them as long as there is a documented method to 
avoiding them.

> > In open source land, "go look at the code" is a
> > vald answer (though sometimes suboptimal).
> Sorry, that just doesn't work. If I looked at the code in
> the XML distribution I'd have alot of trouble figuring
> out what the Python DOM API is.

I disagree.  I think it's quite obviuos in 4DOM and PyDOM.

> > > When I asked about the API a few days ago, there didn't seem to me
> > > to be much consensus about what the Python DOM API actually is.
> > 
> > I believe that there was consensus among people who have implemented
> > DOMs. 
> Hm, I really don't think I believe this. Then again, I'm still not
> sure I know what the Python DOM mapping is. I have a sense that the
> mapping calls for use of attribute syntax, yet people bothered to defend
> the accessor method spelling as though it was in the API.

I've posted the links.  It's pretty clear.

> > I expressed the opinion that I wasn't entirely happy with the
> > leading underscore thing, but that's what I implemented in my DOM
> > anyhow.
> > As far as I know, the three Python DOMs all allowed the use of either
> > methods or direct attribute access.
> "As far as I know"?

It's pretty idiomatic for this phrase to have none of the evil connotation I 
think you're attaching to it.

And, yes, all three DOMs _do_ support both methods.

> QED :)

Nil demonstravis, in my opinion.

Uche Ogbuji                               Principal Consultant
uche.ogbuji@fourthought.com               +01 303 583 9900 x 101
Fourthought, Inc.                         http://Fourthought.com 
4735 East Walnut St, Ste. C, Boulder, CO 80301-2537, USA
Software-engineering, knowledge-management, XML, CORBA, Linux, Python