Making the case for repeat
ben+python at benfinney.id.au
Mon Jun 8 04:30:37 EDT 2009
Steven D'Aprano <steve at REMOVE-THIS-cybersource.com.au> writes:
> On Sun, 07 Jun 2009 16:46:23 -0700, Raymond Hettinger wrote:
> > We factor code to eliminate redundancy, but that is not always a
> > good idea with an API. The goal for code factoring is to minimize
> > redundancy. The goal for API design is having simple parts that are
> > easily learned and can be readily combined (i.e. the notion of an
> > iterator algebra).
> Wonderfully said! That has articulated something which I only recently
> came to appreciate, but couldn't put into words.
As originally defined by Martin Fowler, re-factoring always means the
external behaviour is unchanged <URL:http://refactoring.com/>.
So, there's no such thing as a re-factoring that changes the API.
Anything that changes an external attribute of the code is a different
kind of transformation, not a re-factoring.
\ “Better not take a dog on the space shuttle, because if he |
`\ sticks his head out when you're coming home his face might burn |
_o__) up.” —Jack Handey |
More information about the Python-list