[issue16832] Expose cache validity checking support in ABCMeta
Phillip J. Eby
report at bugs.python.org
Sat May 25 21:02:55 CEST 2013
Phillip J. Eby added the comment:
Antoine Pitrou added the comment:
> -1. Exposing a function allows to modify the underlying implementation
> without breaking any API.
This doesn't make any sense. Once you've exposed an API that gives
out a value for this, you can't change the implementation in a way
that doesn't involve handing out a value... in which case you can just
as easily set it as an attribute.
So there is actually zero improvement in encapsulation: it's purely a
ritualistic wrapping, like Java programmers insisting on having
getFoo() methods in Python when an attribute would suffice. If there
must be a way to change it later to be dynamic, it can always be
exposed as an attribute of an object that could grow a property later,
e.g.
from abc import object_graph
if object_graph.version != old_version:
...
Nick Coghlan added the comment:
> Trading correctness for speed is almost never a good idea.
How is "correctness" relevant to the question of whether a readable
value is exposed as an attribute or a method?
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue16832>
_______________________________________
More information about the Python-bugs-list
mailing list