Due date: Nov 16, 2021
- Apply refactoring to two Python games (class_based_pong.py and connect-4.py).
- This should be a team effort where both teammates sit together and make a list of code smells and general refactoring plan.
- Proper use of GitHub is expected, each refactoring should go on a branch that is merged once the code has been tested (we mean tested in the general sense, not necessarily TTD or unit testing).
- Both teammates should contribute to the repository through their accounts. GitHub counts code lines, so I should be able to see how much each person contributes.
- Good coding practices are expected, write good commit messages.
- Project code should be in a single public repository on GitHub. Please share the repository with me.
- Create two folders in your repository, one called before where you have the initial code before refactoring, and the other is called after and it contains the refactored code.
- The Repository should show two collaborators who contributed an approximately equal number of lines of code.
- The repository should show several commits with appropriate messages from both collaborators. You will be graded based on the quality of your refactoring, GitHub practices, and your teamwork.
- Each team member should add a link to the GitHub repository for this project in their Google Drive folder.
- Each team member should fill the team health check document and add it to the project’s Google Drive folder.
- Each team member should write a report that focuses on their contribution to the project. The report should include:
-
Abstract: project summary, 250 words or less.
-
Results: show the outcome of the project.
-
Contribution: describe your own contribution to the project as specifically as possible (in contrast to what your teammate did).
-
Extensions
-
Team experience reflection: a summary of the lessons learned from the team experience (you can include a description of any team issues here).
-
References
For the refactoring extensions below, make sure you have the before and after versions of your code in your repository.
- Apply refactoring to the file “search_maze_before.py”
- Apply refactoring to your implementation of Sudoku from CS231.
- Apply refactoring any code that you wrote previously.
- Create unit tests for the two games using Pytest and generate a code coverage report.