Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 1.59 KB

File metadata and controls

38 lines (32 loc) · 1.59 KB

Term Project - CMPT 399: Code Refactoring

Deadline: Dec 1st

Learning Objectives

  1. Learning how to understand other people’s code and its design.
  2. Learning how to refactor legacy code to follow recent best practices in Java programming.
  3. Learning how to identify bad smells and perform the appropriate refactorings (including big refactorings, if necessary) to improve the quality of code.

Description

  • It’s highly recommended, although not required, to do this term project in pairs.
  • Play the Monopoly application to see how the game works.
  • Analyze and understand the software design.
  • Identify the bad smells and refactor the code to remove the smells (if necessary, write additional unit tests before you perform any refactorings).
  • Remember to include justifications of your refactorings.

Deliverables

  1. Prepare a 15-minute presentation to discuss your understanding of the monopoly software design (Nov 1st – weight 3%).
  2. Prepare a 15-minute presentation to report your progress (Nov 22nd – 3% participation).
  3. Prepare a 30-minute presentation to provide a summary of your refactorings and discuss one or two significant refactorings in detail (Dec 1st – weight 4%).
  4. Submit your refactored code to Blackboard (Dec 1st – weight 25%).
  5. The evaluation criteria will focus mainly on how clean the refactored code and your justifications (20%). Pay attention to details and consider best practices in Java programming.
  6. User interface improvements (5%).
  7. Individual contributions and peer reviews will be considered.