Code Refactoring Task: Implement SOLID Principles
Overview
The code for this project was intentionally written in a somewhat rushed and messy state. Your task for this ticket is to reorganize the codebase to make it cleaner, more easily readable, more scalable, and better adhering to SOLID design principles. Below is a list of minimum objectives for this task, but you should also improve the code beyond this point to make sure your team will be able to continue to improve on your project. Feel empowered during this process to rename files, functions, and properties to better reflect their purpose and behavior.
Objectives
- Demonstrate understanding of and ability to implement SOLID principles
- Practice making changes to a codebase without breaking major functionality
- Improve code architecture to make future work and scalability easier and more efficient
Assigned Files
Minimum Tasks
Notes
- While strictly speaking, refactoring would also require that you not make changes that break tests, the state of this code base may require you to bridge into some rewriting of code that goes beyond refactoring; that is okay.
- Because this code was not well designed with SOLID principles in mind, the changes you make will likely break or require revisions to the code in the ViewControllers. Because your teammates are working on those files, this is likely to cause merge conflicts if not handled properly. Communication will be key to making this less of a headache.
- Make sure to document your new code so it is easy for future developers to understand and maintain; see the requirements for the documentation tickets.
Acceptance Criteria
Code Refactoring Task: Implement SOLID Principles
Overview
The code for this project was intentionally written in a somewhat rushed and messy state. Your task for this ticket is to reorganize the codebase to make it cleaner, more easily readable, more scalable, and better adhering to SOLID design principles. Below is a list of minimum objectives for this task, but you should also improve the code beyond this point to make sure your team will be able to continue to improve on your project. Feel empowered during this process to rename files, functions, and properties to better reflect their purpose and behavior.
Objectives
Assigned Files
Minimum Tasks
Notes
Acceptance Criteria