Talk:Code refactoring: Difference between revisions

Content deleted Content added
Line 152:
Right now Reengineering (software) points to this article. That is an error. Refactoring is not re-engineering. Re-engineering is analyzing code in legacy environments to capture designs, business rules, and/or to automate transformation of the code into a more maintainable form. Refactoring is just a normal part of the evolution of an object-oriented systems. They are related but different concepts. --[[User:MadScientistX11|MadScientistX11]] ([[User talk:MadScientistX11|talk]]) 21:44, 4 January 2014 (UTC)
:Sounds like the same thing to me, one is refactoring done during normal development, the other is long overdue refactoring that should have been done during development but wasn't. Refactoring simply means making tiny behaviour preserving transformations that make code easier to read and maintain. [[User:Mmeijeri|Martijn Meijering]] ([[User talk:Mmeijeri|talk]]) 22:09, 4 January 2014 (UTC)
::No they aren't the same thing at all. They involve similar types of activities and tools but they are fundamentally different. Analyzing some old assembler or COBOL code to understand the control flow or the business logic is re-engineering. Taking a Java system and reworking it to make it more re-usable, maintainable, etc. is refactoring. In refactoring you are using the same paradigm and language for the before and after. In re-engineering you are usually working in a different paradigm (code that wasn't designed with OO) and certainly in a different programming language. --[[User:MadScientistX11|MadScientistX11]] ([[User talk:MadScientistX11|talk]]) 04:21, 5 January 2014 (UTC)