| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

Refactoring and improving large codebases

Page history last edited by Steve Donie 14 years, 2 months ago

Freezing by features or major functional areas

  * This would allow them to refactor areas that are not getting new features while the new features are going in.

 

When a new feature is required, refactor the section that feature must go into until it is easy to add the feature (inspired by Fowler's book)

 

Working Effectively with Legacy Code, Michael Feathers

  * write tests to verify that the code currently does what is specified

  * then start modifying the code and using the tests to verify that the functionality has not changed

 

"Split Testing" -- form of usability testing

  * provide one design to one group and a different design to a different group and measure what we care about the most

 

Observed user testing -- this involves watching the user, being totally unhelpful, and digging out of the user what they really expect to see happening.

 

One technique when working in a large tangled mess is to define different layers or areas of responsibility, separate those areas with some sort of interface. Then each area can begin to change/improve independently. Good description of that technique in a presentation at InfoQ - Strategies for Effectively Managing Legacy Systems

 

Refactoring Martin Fowler

Refactoring to Patterns by Joshua Kerievsky

Strangler Application - description of a pattern where you gradually replace old code with new

Comments (1)

Savanni D'Gerinel said

at 3:04 pm on Feb 27, 2010

"Refactoring" -- Martin Fowler
"Refactoring to Patterns" -- ???

You don't have permission to comment on this page.