Loading ...
Sorry, an error occurred while loading the content.

Re: Refactoring only happens in software

Expand Messages
  • ericnickell2000
    While what you said is basically correct, I have seen situations where non-software is refactored . Usually this means redesign of a subcomponent to existing
    Message 1 of 2 , May 7 7:49 AM
    • 0 Attachment
      While what you said is basically correct, I have seen situations where
      non-software is "refactored". Usually this means redesign of a
      subcomponent to existing specs for other reasons ... typically cost.


      --- In extremeprogramming@yahoogroups.com, "Ayerst, Tom"
      <tom.ayerst@d...> wrote:
      > In another thread Ron Jefferies pointed out a confusion I had and said:
      >
      > > Refactoring is accomplished by repeatedly choosing one of a large
      set of
      > mathematically
      > > precise operations on the code, and applying that operation. At
      the end of
      > each, the code
      > > works exactly like it did before, but it has a better design. (Or
      at least
      > a DIFFERENT
      > > design, if we are going in the wrong direction.)
      > >
      > > Incremental improvement of rockets and planes differs in at least
      these
      > > ways:
      > > 1. The performance is typically NOT the same: refactoring preserves
      > behavior.
      > > 2. The operation takes many days to do: refactoring is done in
      steps each
      > of which takes
      > > moments, after which the program is again operational.
      >
      > And:
      > > [...] Refactoring, in code, is incremental improvement, without
      change in
      > functionality,
      > > in small steps, typically each taking less than a day. [...]
      >
      > Refactoring never changes the functionality of the system produced
      from the
      > code. So what's the point? Well, refactoring makes the code more
      amenable
      > to future change, either by making the code more understandable, by
      > loosening its coupling, by localising some factor, by clarifying some
      > dependency or some other metric.
      >
      > The confusion I was making (and fall back into regularly) was that of
      > conflating small incremental, test-driven functional changes; and
      > refactoring. The two are so closely associated during development
      that I
      > regularly forget that they are different activities.
      >
      > Anyway, the point is that other design focused activities (building new
      > planes for example) don't really have a process for making *the design*
      > easier to change. This is not to say that some enlightened
      manufacturers
      > don't have some very agile approaches (possibly more analogous to
      > Evolutionary and Test Driven Development?).
      >
      > Tom
      >
      >
      >
      --------------------------------------------------------------------------------
      > The information contained herein is confidential and is intended
      solely for the
      > addressee. Access by any other party is unauthorised without the
      express
      > written permission of the sender. If you are not the intended
      recipient, please
      > contact the sender either via the company switchboard on +44 (0)20
      7623 8000, or
      > via e-mail return. If you have received this e-mail in error or wish
      to read our
      > e-mail disclaimer statement and monitoring policy, please refer to
      > http://www.drkw.com/disc/email/ or contact the sender. 3166
      >
      --------------------------------------------------------------------------------
    Your message has been successfully submitted and would be delivered to recipients shortly.