MSF for CMMI Process Improvement Visual Studio Team System logo

Activity:

Refactor Code (CMMI Level 3 : TS 3.1 )

Participating Roles

Responsible:

Developer

Overview

Entry Criteria

  • Unit tests for the code area are up-to-date and run successfully.
  • Source code to be refactored is available locally or for check out.
  • Code review meeting work item is created.

Sub-Activities

1

Read Code Review Notes

  • Read the code review work item notes to determine how you will refactor the code.
  • If the code review notes indicate that the code was "Accepted with Changes" plan to refactor the code and then perform the "Integrate Changes" activity as the next step.
  • If the code review notes indicate that the code was "Rejected" plan to refactor the code and then repeat the "Prepare for Code Review" and "Code Review" activities.

2

Apply Refactoring

  • Apply the refactoring incrementally, one change at a time. Change the code and all the references to the modified area as necessary.
  • If a class does not map to an abstraction of a real world or programmatic element, rename the class to a name that maps appropriately. Change all of the references to the code.
  • If methods are too complex, it may be necessary to break a method up into a set of new methods. Use "extract method" to pull out functionality that belongs in its own method. Be sure the new method is consistent with the abstraction (class name) in which it is added.

3

Perform Unit Tests

  • Perform unit tests so the area remains semantically equivalent after the refactoring. Fix any nonworking unit tests.
  • Perform code analysis and fix any warnings.
  • Perform unit tests again if code changes are made as a result of code analysis.

Exit Criteria

Refactored source code.

(C) 2005 Microsoft Corporation. All rights reserved.

MSF for CMMI Process Improvement: Build 050707