ITPEC FE Morning October 2022 Question 49

Among the software development activities, which of the following corresponds to refactoring that is emphasized in agile development?

Explanation

Changing the internal structure without changing the external specifications — refactoring improves maintainability while the program keeps behaving the same.

Refactoring, a core practice of XP and agile development, cleans up code in small steps: removing duplication, splitting long methods, renaming unclear identifiers. After each step the tests are re-run to confirm that the external behaviour has not changed.

Answer (a)

Why not others:

  • •(b) — two programmers coding one program together is pair programming
  • •(c) — building an early version to get user feedback is prototyping
  • •(d) — writing the test cases before the code is test-driven development (test first)

Key rule: If the external specification changes, it is not refactoring; automated regression tests are what make refactoring safe.

Software Development Management Techniques · AI-written, may contain errors

This question comes from an official ITPEC past paper. ITPEC Practice is an independent study tool and is not affiliated with ITPEC. See the official FE past-paper collection or Report an issue.