Talk:Amelioration patterns
From CSSEMediaWiki
Revision as of 00:31, 7 August 2009 by Matthew Harward (Talk | contribs)
Amelioration Patterns versus Refactoring
From my (limited) understanding, I think that there is a slight difference between these two concepts. Refactoring is used to improve the design of a program while maintaining exactly the same functionality. On the other hand, an amelioration pattern is describes how to change existing code to add some additional functionality. Is this how other people understand it too? -- Janina Voigt
- Ok. I have gone back to Ward's wiki and had a closer look, I have also searched around for further information. There appears to be little understanding as to what an Amelioration pattern is and even less as to what it achieves. Janina, I think that your definition is pretty good, but let me propose a slight change: Refactoring is used to improve the design of a program while maintaining exactly the same functionality. Whereas, amelioration patterns describe positive and beneficial methods of changing existing code to add additional functionality. The difference being that an Amelioration pattern is not just the addition of new functionality, it has to provide a benefit to the existing program as well. This is just one way of looking at it, I suppose. We could define an amelioration pattern as any positive change to code, therefore a refactoring would be a subset of amelioration, but this seems a little pointless. --Matthew Harward 00:31, 7 August 2009 (UTC)