Skip to content

Queues - Tehut - RideShare - #42

Open
tehut wants to merge 34 commits into
Ada-C7:masterfrom
tehut:master
Open

Queues - Tehut - RideShare#42
tehut wants to merge 34 commits into
Ada-C7:masterfrom
tehut:master

Conversation

@tehut

@tehut tehut commented Mar 13, 2017

Copy link
Copy Markdown

Ride Share

Congratulations! You're submitting your assignment!

Comprehension Questions

Question Answer
Describe a design decision you had to make when working on this project. What options were you considering? What helped you make your final decision? I went back and forth on whether to use arrays or hashes for the first class method in each class (e.g self.create_ . In the endI decided to use an array for the trips class and hashes for the other two. Being able to quickly identify a rider or driver object by its ID was useful but trip IDs are never referenced and arranging trip objects in a hash made them difficult to work with.
Describe a concept that you gained more clarity on as you worked on this assignment. I was intimidated by the idea of using enumerables and DRYing out my code before this project. I struggled a lot with namespace errors and circular require files but was surprised to find how easily I was able to use select, reduce and map throughout this project.
Describe a nominal test that you wrote for this assignment. I tested that you could create ratings for a random driver (Tuvok/driver 81).
Describe an edge case test that you wrote for this assignment. I tested that you could create ratings for driver 1 & 300--unfortunately driver 300 had no ratings so his test was thrown out and we used Driver 299 instead as the edge case.
How do you feel you did in writing pseudocode first, then writing the tests and then the code? I had no problem writing psuedocode but it wasn't useful. I spent the entire first day of the project writing it and didn't use it. What was more useful was the second day where I spent a few hours playing with how I'd build the central functions (opening the CSV, requiring class methods across classes) to make sure I understood them. I'd have much preferred to have done that and written a better set of diagrams because I referenced my poorly done diagram and the .md file with specs regularly and never looked at my psuedocode.

tehut added 30 commits March 6, 2017 13:52
…made when creating and testing instance methods. finally got create_trips, make_rider and make_driver method working.
…th MissingIDError and added StandardError as temporary measure. Added standard error to trip.rb while troubleshooting namespace issue
@PilgrimMemoirs

Copy link
Copy Markdown

Ride Share

What We're Looking For

Feature Feedback
Baseline
Used Git Regularly Well Done
Answer comprehension questions Well Done - for pseudocoding, if you're finding it not useful to do all at once, another option is to write it for a single feature, like a method, then write the test and code for it before moving on to reading the process of pseudo coding, writing test and writing code on the next feature.
Driver
Uses the all method in the find method Well Done
Has appropriate edge-case tests for each method in the class Some for initialize - none for the rest of the methods
Created a method that uses a method from the Trip object to retrieve the list of trips Well Done
Created a method that uses the internal trips list to calculate the average rating In driver_rating method, instead of 'Trip.find_by_driver(@driver_id)', should call your all_my_trips method. Why should you do that?
Rider
Uses the all method in the find method Well Done
Has appropriate edge-case tests for each method in the class ❗️ No edge cases tested
Created a method that uses a method from the Trip object to retrieve the list of trips Well Done
Created a method that uses the internal trips method to retrieve the associated drivers Well Done
Trip
Reads the CSV file in the all method Well Done
Has appropriate edge-case tests for each method in the class Well Done
Created a method that uses a method from the Driver to retrieve the associated driver instance Well Done - could simplify name with simply having 'driver' - the idea is that the driver already exists.
Created a method that uses a method from the Rider to retrieve the associated rider instance Well Done - same advice as box above
Created a method to retrieve all trips by driver id Well Done
Created a method to retrieve all trips by rider id Well Done
Overall
Methods names can be kept simpler by not including the class's name within it. ex: find_driver can just be find, since it's being called on the driver class, it's already implied your finding a driver. Instead of create_trips, just have 'all'.

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