Skip to content

Space - Antonia and Olivia#7

Open
mulhoo wants to merge 22 commits intoAda-C13:masterfrom
antoniairizarry:master
Open

Space - Antonia and Olivia#7
mulhoo wants to merge 22 commits intoAda-C13:masterfrom
antoniairizarry:master

Conversation

@mulhoo
Copy link

@mulhoo mulhoo commented Feb 28, 2020

Assignment Submission: OO Ride Share

Congratulations! You're submitting your assignment. Please reflect on the assignment with these questions.

Reflection

Question Answer
How did getting up to speed on the existing codebase go? If it went well, what worked? If it didn't go well, what will you do differently next time? It was definitely difficult at first. It was clear how the classes related to each other (CsvRecord being the superclass to trip and passenger) but then bouncing around from place to place to see how stuff was loaded and connected was more difficult.
What inheritance relations exist between classes? CsvRecord is the superclass of trip, passenger and driver.
What composition relations exist between classes? We have our superclass and subclasses, as outlined above. Trip_dispatcher class is connected to the subclasses of CsvRecord, but is not a subclass of CsvRecord.
Describe a decision you had to make when working on this project. What options were you considering? What helped you make your final decision? In the instructions we were told to put the Time.parse in the Trip self.from_csv, even though it made more sense to have the Time.parse happen in the initialize method. Putting Time.parse in the from_csv method caused issues later down the line, but we stuck with it there because the instructions told us to.
Give an example of a template method that you implemented for this assignment The entire CsvRecord class is a template method, as it just does the work for it's subclasses that they all share (like from_csv).
Give an example of a nominal test that you wrote for this assignment We used nominal test cases when expecting back numbers, like in the average rating of a driver, total earnings, total cost etc etc.
Give an example of an edge case test that you wrote for this assignment The main one we worked over was what if the start_time and/or end_time are not instances of Time? or if start_time is nil? Also, what if earnings and/or cost were $0?
What is a concept that you gained more clarity on as you worked on this assignment Testing and classes, and the intersection of the two when you need to run a test that goes over multiple classes.

@CheezItMan
Copy link

OO Ride Share

Major Learning Goals/Code Review

Criteria yes/no, and optionally any details/lines of code to reference
The code demonstrates individual learning about Time and the responsibility of Trip.from_csv, and uses Time.parse in Trip.from_csv ✔️
The code demonstrates breaking out complex logic in helper methods, such as making a helper method in Trip to calculate duration ✔️
There are tests for the nominal cases for the Passenger#net_expenditures and Passenger#total_time_spent ✔️
There is at least one edge case test for either Passenger#net_expenditures or Passenger#total_time_spent testing if the passenger has no trips ✔️, yes, but you should have test cases for incomplete trips in Wave 3.
Practices inheritence. Driver inherits from CsvRecord, and implements from_csv ✔️
Employs problem-solving and implements Driver#average_rating and Driver#total_revenue ✔️
Implements the TripDispatcher#request_trip, which creates an instance of Trip with a driver and passenger, adds the new trip to @trips, and changes the status of the driver ✔️
Practices composition. In TripDispatcher#request_trip, the driver gets connected to the new trip, the passenger gets connected to the new trip ✔️
Practices git with at least 10 small commits and meaningful commit messages ✔️, Good number of commits and mostly meaningful commit messages.

Testing Requirements

Testing Requirement yes/no
There is reasonable test coverage for wave 1, and all wave 1 tests pass ✔️
There is reasonable test coverage for wave 2, and all wave 2 tests pass ✔️
Wave 3: Tests in wave 1 and wave 2 explicitly test that only completed trips should be calculated (and ignore in-progress trips) ✔️
There is reasonable test coverage for TripDispatcher#request_trip, and all tests pass ✔️

Overall Feedback

Overall Feedback Criteria yes/no
Green (Meets/Exceeds Standards) 8+ in Code Review && 3+ in Functional Requirements ✔️

Code Style Bonus Awards

Was the code particularly impressive in code style for any of these reasons (or more...?)

Quality Yes?
Perfect Indentation
Descriptive/Readable
Logical/Organized

Summary

Nice work, you hit all the learning goals here. Well done. Take a look at my inline comments and let me know any questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants