Skip to content

Jessica and Kate - Time#13

Open
Catherina87 wants to merge 17 commits into
Ada-C13:masterfrom
Catherina87:master
Open

Jessica and Kate - Time#13
Catherina87 wants to merge 17 commits into
Ada-C13:masterfrom
Catherina87:master

Conversation

@Catherina87

Copy link
Copy Markdown

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? We spent the first day looking at the code and familiarizing ourselves with the code. We took time to see how methods were connected to other between files and classes. We had some difficulty understanding individual, new pieces of code, like "self.class.validate_id" and where it fit in.
What inheritance relations exist between classes? Trip, Driver, and Passenger classes all inherit from CsvRecord.
What composition relations exist between classes? TripDispatcher creates several arrays for each class's objects.
Describe a decision you had to make when working on this project. What options were you considering? What helped you make your final decision? We were forced to make a decision when considering situations where the price of the trip was below $1.65. We were unsure at first whether how to handle situation of whether the driver should then take all the money or not. We decided to charge the 20% still, but with no fee.
Give an example of a template method that you implemented for this assignment .from_csv was a template method was was used and applied to subclasses.
Give an example of a nominal test that you wrote for this assignment For driver's total_revenue, we tested what a middle of the road cost would be like, such as a 10 dollar trip.
Give an example of an edge case test that you wrote for this assignment For driver's total_revenue, we tested an edge case of where the driver has no trips (0).
What is a concept that you gained more clarity on as you worked on this assignment Inheritance became more clear as we worked on the project. Reading from CSV's also became more clear, because we better understood the structure. Dependencies were also more clear as we worked, such as how all the classes related to TripDispatcher.

@beccaelenzil

Copy link
Copy Markdown

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 ✔️
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 ✔️

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 ✔️
Yellow (Approaches Standards) 6+ in Code Review && 2+ in Functional Requirements
Red (Not at Standard) 0-5 in Code Review or 0,1 in Functional Reqs, or assignment is breaking/doesn’t run with less than 5 minutes of debugging

Code Style Bonus Awards

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

Quality Yes?
Perfect Indentation
Elegant/Clever
Descriptive/Readable
Logical/Organized

@beccaelenzil beccaelenzil left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work on this project. It is clear that the learning goals around TDD, inheritance, and object composition were met. You did a particularly good implementing thorough tests. Keep up the hard work.

Comment thread lib/trip_dispatcher.rb
end
end

available_drivers.each do |driver|

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great use of enumerable method .sort_by!

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.

2 participants