- Learning how to understand other people’s code and its design.
- Learning how to refactor legacy code to follow recent best practices in Java programming.
- Learning how to identify bad smells and perform the appropriate refactorings (including big refactorings, if necessary) to improve the quality of code.
- 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.
- Prepare a 15-minute presentation to discuss your understanding of the monopoly software design (Nov 1st – weight 3%).
- Prepare a 15-minute presentation to report your progress (Nov 22nd – 3% participation).
- 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%).
- Submit your refactored code to Blackboard (Dec 1st – weight 25%).
- 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.
- User interface improvements (5%).
- Individual contributions and peer reviews will be considered.