Do you develop on GitHub? You can keep using GitHub but automatically sync your GitHub releases to SourceForge quickly and easily with this tool so your projects have a backup location, and get your project in front of SourceForge's nearly 20 million monthly users. It takes less than a minute. Get new users downloading your project releases today!
Arjen writes "Artima has had a conversation with Martin Fowler, one of the gurus on software development today. It consists of six parts. Parts one, two, three, and four are available now; the rest will appear the next weeks."
This discussion has been archived.
No new comments can be posted.
Refactoring is often about injecting the last good idea you had into working code.
Refactoring isn't about making your project buzzword compliant or supporting distributed OLE-foo++. That's adding new features.
From the article:
Martin Fowler: Refactoring is making changes to a body of code in order to improve its internal structure, without changing its external behavior.
Refactoring is usually saying "hey, I implemented that function the wrong way so I'm going to rewrite it properly". The right way of doing something is often obvious after coding it up the wrong way.
i think you're missing the point here, which is that good refactoring shouldn't affect surrounding code, it's typically about fairly small changes and simplifications.
obviously there will always be some effect, but a proper well written test suite (primarily unit tests, but also higher level tests) should catch the vast majority of cascade effects.
program to the interface and altering the internals shouldn't matter.
oh dear i'm beginning to sound like one of those evangelists!
Re:Developers love him; Managers hate him (Score:5, Informative)
Refactoring isn't about making your project buzzword compliant or supporting distributed OLE-foo++. That's adding new features. From the article:
Refactoring is usually saying "hey, I implemented that function the wrong way so I'm going to rewrite it properly". The right way of doing something is often obvious after coding it up the wrong way.allow me to retort! (Score:3, Informative)
obviously there will always be some effect, but a proper well written test suite (primarily unit tests, but also higher level tests) should catch the vast majority of cascade effects.
program to the interface and altering the internals shouldn't matter.
oh dear i'm beginning to sound like one of those evangelists!