Re: Refactoring wishlist
Adam Sroka <[email protected]> Tue, 20 Sep 2011 19:35:59 -0700
| Newsgroups | gmane.comp.programming.refactoring |
|---|---|
| Message-ID | <CALaPUVcfMJO9iUhCSQy6v_-wXoePtOLF5o3h5SXDtNAKytDDLw@mail.gmail.com> |
On Tue, Sep 20, 2011 at 7:21 PM, Adam Sroka <[email protected]> wrote: > > Also, if you understand how to perform complex refactorings as a series of atomic steps (Which is how Fowler et al describe it in the book) then you not only grok them but you can even start to innovate your own complex refactorings when the domain/language is different. I wanted to expand on that last thought in case it wasn't clear: different languages and different domains lead to different design patterns, idioms, and DSLs. When you refactor in those environments the direction you chose to go may be different, but you can still compose almost any change from a series of atomic refactorings. Many of the patterns oriented refactoring in the catalog only happen to be appropriate in a small minority of design scenarios. Some are never appropriate in a given language or environment. In my experience I want these changes to happen in tiny steps, because it is an exploratory process. I can still do it pretty fast, but I have a lot of control. Only rarely does what I am doing exactly match a more complex pattern so well that I am able to recognize it before I start down the path. When that happens I may get lucky enough to remember that I have a menu item for it and I may even remember how to activate that rarely used menu item successfully. In my experience that nexus of good fortune is rare enough that it is not worth investing my time to seek it. IMO, it is more valuable to invest that effort in practicing to internalize some of the more common strategies for removing duplication. Then I can seek design improvements opportunistically while I'm cleaning up my general vicinity. I hope that makes sense. ------------------------------------ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/refactoring/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/refactoring/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/