[Twisted-Python] Re: [Twisted-commits] r22428 - Deprecation API for functions and methods.
steve at holdenweb.com
Sat Feb 2 09:57:34 EST 2008
Jean-Paul Calderone wrote:
> On Thu, 31 Jan 2008 17:01:48 -0000, glyph at divmod.com wrote:
>> On 04:23 pm, exarkun at divmod.com wrote:
>>> Maybe Version shouldn't be responsible for any view at all. Maybe
>>> is just a model class, and things that actually know what the view
>>> requirements are can implement the view?
>> I agree insofar as the model is poorly exposed and documented. The
>> ivars have no documentation, and the only way to get the SVN revision
>> is to call a private method or to mangle strings.
>> However, some of these "views" should definitely be attached to the
>> class, for convenience and simplicity. For example, a sensible
>> __repr__ makes debugging and inspecting these things a lot easier.
> Having Version.__repr__ is fine. __repr__ is a thing that Python classes
> often have.
>> Adding a new module, function, or class which does the string
>> formatting means that users of Version will need to look somewhere
>> else to perform the function they want, and ultimately it doesn't
>> eliminate the confusion - "do I want the 'short dotted' view or the
>> 'includes project but without development version' view?" - unless we
>> also reduce the number of options available.
> What I had in mind was more that each application that wants to format
> Version in some particular way can do the formatting itself, not that it
> would pick an appropriate function from the version_view module and rely
> on it to do the formatting.
> The complexity of the code we're talking about foisting on an application
> is on the order of "%s.%s" % (version.major, version.minor). Not much of
> a burden. On the other hand, if we really want to make this easy, then
> maybe Version should have a `format´ method that just takes a format string
> and does the interpolation for you.
And gold-plated toilet seats, they're good too ...
Steve Holden +1 571 484 6266 +1 800 494 3119
Holden Web LLC http://www.holdenweb.com/
More information about the Twisted-Python