Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Water - Mackenzie and Jessica #7

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open

Conversation

jwinchan
Copy link

@jwinchan jwinchan commented Oct 1, 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 went well. It was overwhelming at first, but we traced each method one-by-one and figured out how the files interacted.
What inheritance relations exist between classes? csv_record was the parent class for three children classes: driver, passenger, trip.
What composition relations exist between classes? trip_dispatcher has a one-to-many relationship with trip, driver, and passenger classes. Each trip has just one driver and one passenger, but each passenger can hold many trips and each driver can also hold multiple trips.
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 made the decision to write the method codes first and then write the tests afterwards. It helped us understand what the assignment was asking for. It also helped us realize what the edge cases would be after writing the methods.
Give an example of a template method that you implemented for this assignment the template method of from_csv was already written in 3 of the classes, but we implemented that method into our driver class.
Give an example of a nominal test that you wrote for this assignment We used a nominal test to test that total_time_spent returned an accurate result.
Give an example of an edge case test that you wrote for this assignment Also under total_time_spent, we used edge case tests to consider 0 trips or trips in progress.
What is a concept that you gained more clarity on as you worked on this assignment We gained clarity on a lot of concepts. We learned a lot about writing tests, inheritance, establishing and instantiating classes, unpacking data, differentiating between class and instance methods.

jwinchan and others added 30 commits September 30, 2020 10:47
Copy link

@dHelmgren dHelmgren left a comment

Choose a reason for hiding this comment

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

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 inheritance. 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

a

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?
Descriptive/Readable
Logical/Organized

@@ -0,0 +1,68 @@
require 'csv'

Choose a reason for hiding this comment

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

CsvRecord already includes csv so including it here is not necessary. :)

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