Menu

Code Refactoring Resources

Martin Fowler defined refactoring as a ” disciplined technique for restructuring an existing body of code, altering its internal structure without changing its external behavior”. In the days of Agile development where code is delivered after one or two week cycles, you start quickly to deal with “legacy” code, what was know as “maintenance” for projects that had longer delivery time frames. Refactoring is mostly linked to code but the term is also widely used for every restructuring effort: database definition code, testing scripts, software architecture or development process.

I am sure to forget some precious resources in this overview, so do not hesitate to add some pointer in the comments (no commercial tools, thank you). Some of these resources are language specific (Java, Ruby, .Net, Python, PHP and even Fortran) but you will also find global perspectives that are above the code level.