[Python-Dev] PEP 8 updates/clarifications
Jim Fulton
jim at zope.com
Mon Dec 12 19:52:28 CET 2005
skip at pobox.com wrote:
> Jim> That's why, in my suggested writeup, I suggested that attributes
> Jim> should be used if the accessors are trivial.
>
> In my experience it's difficult to find the locations where another module
> mucks with your object's state. Using properties or accessor methods
> coupling between modules is reduced and you can be more confident that the
> only place an object's state is modified directly is in its own code.
I don't understand this argument. Any mutating method or property invoked by
foreign code changes an object's state. If you provide a property or a pair
if accessors that just sets and gets an attribute with a slightly different name,
that affords no more protection than if people were setting the attribute directly.
If you don't want external code to change an attribute, don't expose it through
a public API.
Jim
--
Jim Fulton mailto:jim at zope.com Python Powered!
CTO (540) 361-1714 http://www.python.org
Zope Corporation http://www.zope.com http://www.zope.org
More information about the Python-Dev
mailing list