TR 12:15 - 1:30 pm (CAS) 135
Week 13 Class 24 Tue Nov 19 Posted: Nov 19
Announcements
For removing functionality:
Class
Exercise 60: Replace Nested Conditional with Guard Clause
Fix your Replace Nested Conditional With Guard Clause repository using the feedback (Report.md in the branch feedback) for Exercise 54: Team Replace Nested Conditional with Guard Clause Refactoring.
Exercise 62: Waterfall Software Process Models Crossword
We did not finish the Waterfall notes, so the due date for this crossword is delayed.
Exercise 63: Team Streaming Meeting I
Each member of the team must create an issue for Project Streaming. By the end of the class period, at least the subject of the issue is required. You have until 3 pm on Wed Nov 20 to finish the description. The description cannot be just a single sentence.
Unless stated otherwise, all exercises are due by 3 pm on Wed Nov 20
Your company purchased a streaming video service. The plan is to use this code (and the associated data-mining platform) for a future software product.
Your team is in charge of the software. The immediate goal is to bring this codebase up to company standards by filling in the (primarily missing) unit test cases and performing refactorings. You are not to add any new features or change the code's behavior in any way, only to improve the design and implementation quality of the current functionality.
Each team has a GitHub Classroom repository. An invitation link to create the repository is on the Brightspace course page. All work is through the project repository via issues, branches, and pull requests. Discussions will take place via the issue tracking system in GitHub.
You have the following overall work to do:
Create unit test cases. Create an issue in the repository for each set of unit test cases. Then, assign them to a member of the team. Note that you need a complete set of test cases before you perform refactoring on a class.
Perform Refactorings Contribute refactorings by creating issues in the repository. These issues must motivate why the refactoring is necessary and include the name of the refactoring.
Adaptive Maintenance Current code does not take advantage of the features of C++11. In many ways, these are also refactorings, but there is no standard catalog for them. Treat them as refactorings in terms of issues and branches. You can also take advantage of the features of C++14 and C++17.
For each of these activities:
Notes:
The only allowed changes to the code are:
Note that you cannot delete any classes. You can, however, add classes.
Points are deducted from all members of the team for any additional functionality added to the project
Technical Notes:
TA: Ms. Afia Asante aa998@uakron.edu