views:

37

answers:

1

Currently, I have a project, where I have to add some features on to it, but the coding hasn't maintained any standards and it is extremely tough to break it down into manageable and understandable parts, to get started. And there is no documentation, to help out?

How would you start such project, if you had to?

+1  A: 

Steps:

  1. (Optional) Cover system with hi-level automatic tests, which test system through UI example
  2. Carefully refactor to testable code
  3. Cover functionality with unit tests
  4. Refactor code to make implementation of new features possible
  5. Implement new features

Manuals:

  1. Book by Michael Feathers: Working Effectively With Legacy Code
  2. Book by Martin Fowler: Refactoring
Yauheni Sivukha