At 10:15 AM 8/22/2001 -0400, Guido van Rossum wrote: > > However, the problem I see with a class-based approach is that this > > is such a small thing that I'm not even sure how to write a class > > for it that isn't more grandiose than it deserves. > >Believe me, adding a new method to a heavily-used built-in object is >much more grandiose than adding a library module. In addition to "15 >lines of code" we need to update the documentation, add a few lines to >the test suite, add code to Jython mimicking the feature; 30 books >will be a little more out of date, and so on. I guess I don't see how this one is different from any other feature change to Python in that regard: they all require code, tests, and docs. The only real logistical advantage I can see for implementing it as module is that the port to Jython would be virtually free. Aside from that, it seems like adding a new module (in any form) would cause much _more_ bloat overall in terms of SLOCs, tests and documentation. For example, a new library module would get a doc page of its own, but a single new Boolean parameter added to items() could be documented by a footnote on the "Mapping Types" page, e.g., "If the 'values_first' parameter is set to true, the item tuples returned are in (value, key) order rather than the default (key, value) order." The test suite for the new parameter could be just a line or two which would compare the values-first items of a test dictionary to the expected list. So, in total, my preferred suggestion, "items(values_first=0)", (which actually isn't a _new_ method!) would cause bloat on the order of: 15 lines of C (and Java) 1 sentence of documentation 3 lines of test code and best of all!: 0 __future__ statements And as for making 30 books a little more out of date...well...if Tim O'Reilly doesn't give me a big wet kiss for that, I'm gonna demand he refund the $54.95 I just paid for the Second Edition of "Programming Python" <wink>. =g2
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4